Ниже описание моего дия:Javascript - не удается получить доступ к перекрестному домену родительского элемента внутри моего фрейма
Я добавил букмарклет функции на мой сайт. Для этого я предоставил одну ссылку под названием «Моя закладка» на моем сайте. Итак, я перетащил эту ссылку на закладку, и она будет добавлена в закладки. Итак, теперь, когда я посещаю другой сайт, скажите «yahoo.com» .. и мне нравится любой контент этого сайта, поэтому я могу выбрать этот контент и нажать «Моя закладка» из закладки, он откроет одну страницу моего сайт как дочерний элемент «yahoo.com».
Для этого я добавил код ниже в javascript. где ifrme src - это URL моего сайта.
var div = document.createElement("div");
div.id = "instacalc_bookmarklet";
var str = "";
str += "<table id='instacalc_bookmarklet_table' valign='top' width='570' cellspacing='0' cellpadding='0'><tr><td width ='850' height='880'>";
str += "<iframe frameborder='2' scrolling='yes' name='instacalc_bookmarklet_iframe' id='instacalc_bookmarklet_iframe' src='" + iframe_url + "' width='850px' height='875px' style='textalign:right; backgroundColor: white;'></iframe>";
str += "</td><td id='closetd' onClick='toggleItem(\"instacalc_bookmarklet\");' style='background: #FFDDDD;' title='click to close window' valign='top' align='center' width='20px'>";
str += "<a href='javascript:void(0);' style='width:100%; text-align: middle; color: #FF0000; font-family: Arial;'>x</a>";
str += "</td></tr></table>";
div.innerHTML = str;
div.onkeypress = keyPressHandler;
document.body.insertBefore(div, document.body.firstChild);
Вы можете отметить, что здесь, я добавил один тег таблицы, и два тд внутри этого .. One т.д, чтобы показать мою страницу в IFRAME и еще тд для кнопки «закрыто» .. который закроет этот открыт windown от "yahoo.com".
Теперь, мой вопрос: у меня есть кнопка «закрыть» на моем сайте .. onclick этого ... Я хочу закрыть окно .. (то же действие, которое «закрывает» кнопку в над javascript. . вызвать функцию «ToggleItem»)
но моя проблема .. в моем IFRAME я не могу получить доступ к элементу DIV ..
Я написал, как
<a href="#bookmarklet" onclick="closethis();">Close</a>
<script>
function closethis()
{
id='instacalc_bookmarklet';
var item = parent.document.getElementById(id);
if(item){
if (item.style.display == "none"){
item.style.display = "";
}
else{
item.style.display = "none";
}
}
}
</script>
но OnClick этого закрыть ссылку .. Я получаю ошибку javascript "разрешенное разрешение на получение свойства window.document" в строке var item = parent.document.getElementById (id);
Любые идеи?
Спасибо заранее.
Вы должны проверить ответ на этот пост http://stackoverflow.com/a/19332928/532116 – Gilbou