我有一个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)是否是对象的子级/内部
我一直在努力实现这些想法,但没有成功。如果有人能帮我,我将不胜感激。非常感谢。
和@charlietfl一样,我也很好奇为什么要使用<object>
标记。但我建议的一般方法是让page-1向page-2发送一个查询参数(例如"path/page2.html?disableCheck=true")
然后你可以在第2页这样检查:
<script>
if (location.search.indexOf("disableCheck")) {
$("#mydiv").hide();
}
</script>
这种查询参数方法显然是伪造的,但我怀疑这不是一个主要问题。