2012-01-10 7 views
0

iframeのhtmlタグ内にあるウェブページでこのjavascriptコードを使用するにはどうすればよいですか?どうすればこのウェブページへのjavascriptコードをiframeのhtmlタグで表示できますか?

window.highlight = function() { 
    var selection = window.getSelection().getRangeAt(0); 
    var selectedText = selection.extractContents(); 
    var span = document.createElement("span"); 
    span.style.backgroundColor = "yellow"; 
    span.appendChild(selectedText); 
    span.onclick = function (ev) { 
     this.parentNode.insertBefore(document.createTextNode(this.innerHTML), this); 
     this.parentNode.removeChild(this); 
    } 
    selection.insertNode(span); 
} 
+0

あなたが気づいていない場合、ウェブページがあなたのメインページとは別のドメインのものである場合、これを行うことはできません。 – Jeff

+0

が可能である必要があります。私はこのWebアプリを見つけたので、何か似たようなことをしました。これをチェックしてください:http://www.awesomehighlighter.com/ –

+0

そのページを調べると、彼らはiframeを取得していますコンテンツはプロキシを介して送信されるため、各フレームは同じドメインを持ちます。 –

答えて

1

IFRAMEが親と同じドメイン上にある場合は、代わりにwindow.whateverのwindow.parent.whatever使用し、document.whateverの代わりにparent.document.whateverことができます。

iframeが親と同じドメインでホストされていない場合、これはクロスサイトスクリプティング(XSS)と呼ばれるため、アクセスできません。

+0

です。クロスサイトスクリプティングは違法ですか? –

+0

いいえ、現代のブラウザではデフォルトでは不可能です。 –

+0

これはセキュリティの尺度です。もちろん、自分のブラウザを変更してこのように振舞うことはできますが、AFAIKには無効にする設定はありませんが、ソースコードを変更する必要があります。または、標準に準拠していない独自のブラウザをプログラムすることもできます。しかし、それは明らかにあなたのブラウザにのみ適用され、他の誰もがそこにいるわけではありません。 –

関連する問題