2011-02-27 4 views
0

Safari拡張機能を作成しています。ツールバーのボタンをクリックすると、別のソースのコンテンツをページの上に重ねる必要があります。Safari Extensionはすべてのページにiframeをオーバーレイします

コンテンツの上部にあるブラウザの左上隅に配置するにはどうすればよいですか?閉じるボタンをクリックすると、iframeが破棄され、以前カバーされていたコンテンツが表示されます。

ありがとうございます!

答えて

1

CSSをインラインまたはスタイルシートのどちらかに配置できます。

<iframe src="http://path.to/content" style="width: 200px; height: 100px; 
position: absolute; top: 0; left: 0; z-index: 100000;" id="overlay_frame"></iframe> 

次に、あなたの "クローズ" のリンクについて、あなたはどちらか完全にIFRAME破壊の選択肢があります:

<a href="#" onClick="document.getElementById('overlay_frame').removeChild( 
document.getElementById('overlay_frame').childNodes[0]);">Close</a> 

かをちょうどそれを隠し:

<a href="#" onClick="document.getElementById('overlay_frame').style.display='none';">Close</a> 

を個人的に、私は」 dを非表示にするだけで、ソースを変更して再利用できるようになります。

<a href="#" onClick="document.getElementById('overlay_frame').src='http://link.to/something/else';">Change Frame</a> 
+1

しかし、Safari Extensionにスクリプトを注入して注入するにはどうしたらいいですか? – gdanko