0

我的 page1 包含一个加载 page2 的对象标记。事情是,当打开 page1 时,我需要在 object 标签加载它时隐藏 page2 中的特定 div。否则,当从浏览器打开 page2 时,它应该会正常显示。

我的 html 和 javascript 代码如下所示:

page1.html

<html>
....
<div id="myUrl">load object tag here</div>

<script>
...
   document.getElementById("myUrl").innerHTML = '<object type="text/html" width="500px" height="500px" data="path/page2.html" ></object>';

</script>
</html>

如果 page2 加载到 page1 的对象标记中,我需要隐藏 mydiv:

page2.html

<html>
....
<div id="mydiv"><h3>test title</h3></div>
....

<script>
//if opened from htmlpage1 hide the div
$("#mydiv").hide();
</script>

</html>

经过一番研究,我想出了两个可能的想法:

  • 在 page1 中使用 param 标记并在 page2 中检查其值以隐藏 mydiv
  • 或者在 page2 中有一个 javascript 方法来检查文档(#document)是否是对象的子对象/内部对象。

我一直在努力实施这些想法,但没有成功。如果有人可以帮助我,我将不胜感激。谢谢你。

4

1 回答 1

1

像@charlietfl 一样,我也很好奇你为什么使用<object>标签。但我推荐的一般方法是让 page-1 向 page-2 发送一个查询参数(例如“path/page2.html?disableCheck=true”)。

然后你可以在第 2 页中检查这个,如下所示:

<script>
  if (location.search.indexOf("disableCheck")) {
    $("#mydiv").hide();
 }
</script>

这种查询参数方法显然是伪造的,但我怀疑这不是主要问题。

于 2015-02-25T19:26:04.087 回答