2011-02-27 32 views
0

我正在編寫Safari擴展。當我點擊工具欄中的按鈕時,它需要在頁面頂部覆蓋來自另一個源的內容。Safari擴展將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> 

就個人而言,我ð只是隱藏,這樣你可以通過改變源中再次使用它:

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

但我如何通過Safari擴展注入腳本注入它? – gdanko