以下は私の質問の説明です:
サイトにブックマークレット機能を追加しました。このために、私は自分のサイトに「私のブックマーク」というリンクを 1 つ用意しました。そのリンクをブックマークにドラッグすると、ブックマークに追加されます。だから、今から、「yahoo.com」などの他のサイトにアクセスすると..そのサイトのコンテンツが好きなので、そのコンテンツを選択してブックマークから「私のブックマーク」をクリックすると、私の 1 ページが開きます。 「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);
ここで、1 つのテーブル タグを追加し、その中に 2 つの td を追加したことを確認できます。 .
さて、私の質問は..私は自分のサイトに「閉じる」ボタンを持っています..それの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..行var item = parent.document.getElementById(id);でjavascriptエラー「プロパティwindow.documentを取得する権限が拒否されました」が表示されます。
何か案は?
前もって感謝します。