#javascript #html #frame #favicon #frameset
#javascript #HTML #фрейм #значок #набор фреймов
Вопрос:
У меня есть родительский домен.example, который настроен поставщиком для пересылки «с маскированием» дочернему.example. Это означает, что URL «parent.example» остается в адресной строке, а содержимое дочернего фрейма.example отображается с использованием набора фреймов.
Я хотел бы добавить пользовательский значок.
До сих пор я пытался на странице child.example:
<script type="text/javascript">
var link = document.createElement("link");
link.type = "image/x-icon";
link.rel = "shortcut icon";
link.href = "http://www.child.example/img/favicon.ico";
parent.getElementsByTagName("head")[0].appendChild(link);
</script>
Но это не работает.
HTML для parent.example является:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>My Title</title></head>
<frameset rows="100%,*" border="0">
<frame src="http://child.example" frameborder="0" />
<frame frameborder="0" noresize />
</frameset>
<!-- pageok -->
<!-- 07 -->
<!-- -->
</html>
Есть идеи?
Комментарии:
1. Я сильно сомневаюсь, возможно ли это — они находятся в разных доменах.
Ответ №1:
Вы не можете.
Браузер показывает значок избранного для страницы, загруженной во фрейм верхнего уровня.
Страница, загруженная во фрейм внутри этой страницы, не может изменять эту страницу (та же политика происхождения), поэтому она не может добавлять какие-либо данные значка с помощью JS.
Решение состоит в том, чтобы получить хотя бы наполовину приличный хостинг.