HTML-тег объекта: элемент доступа на HTML-странице
У меня есть страница1, которая содержит тег объекта, который загружает страницу2. Дело в том, что при открытии страницы 1 мне нужно скрыть определенный div в page2, когда тег объекта загружает его. В противном случае при открытии страницы2 из браузера она должна выглядеть нормально.
Мой 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>
Что мне нужно, это скрыть mydiv, если страница2 загружена в теге объекта на странице1:
page2.html
<html>
....
<div id="mydiv"><h3>test title</h3></div>
....
<script>
//if opened from htmlpage1 hide the div
$("#mydiv").hide();
</script>
</html>
После некоторых исследований я пришел к двум возможным идеям:
- Используя тег param внутри страницы 1 и проверьте его значение на странице 2, чтобы скрыть mydiv
- или иметь метод javascript на странице 2, который проверяет, является ли документ (#document) дочерним / внутренним объектом.
Я изо всех сил пытался реализовать любую из этих идей, но безуспешно. Буду признателен, если кто-нибудь сможет мне помочь с этим. Спасибо.
1 ответ
Как @charlietfl, мне также любопытно, почему вы используете <object>
тег. Но общий подход, который я бы порекомендовал, заключается в том, чтобы страница-1 отправляла странице-2 параметр запроса (например, "path/page2.html? DisableCheck=true").
Затем вы можете проверить это на странице 2 следующим образом:
<script>
if (location.search.indexOf("disableCheck")) {
$("#mydiv").hide();
}
</script>
Этот подход запроса-параметра, очевидно, мог бы быть подделан, но я подозреваю, что это не главная проблема.