2012-08-25 247 views
0

我正在嘗試爲網站創建一個小編輯器。其中一個功能是拖放界面。我希望用戶能夠將元素拖動到頁面中的另一個位置。我正在考慮擁有該網站的iFrame,並使用JS和CSS來啓用拖放功能。將腳本和樣式應用於iFrame?

這裏有一個CMS的截圖,做的是:

CMS

該網站是一個iFrame。當我打開iFrame時,不能拖放元素。所以,我假設他們以某種方式在父頁面上應用更改。有沒有什麼辦法可以基本上將JavaScript添加到iFrame中?

謝謝!

+0

看看這個: http://stackoverflow.com/questions/251420/invoking-javascript-in-iframe-from-parent-page。我也剛剛發現:http://www.youtube.com/watch?v=MhODHoaats0&feature=player_embedded – niaher

回答

3

只要iframe引用的頁面位於相同的域,是的,您可以。您可以對iframe中的元素應用腳本和樣式,就像您對主父頁面中的任何元素所做的一樣。主要的語法是這樣的:

var ifrm = document.getElementById("your_iframe_id"); 
/*ifrm.contentWindow.document is the document within the iframe 
so let's try styling a div with an id 'mydiv' inside the iframe:*/ 
ifrm.contentWindow.document.getElementById("mydiv").style.color = "red"; 

當然,這只是一個示例,您可以使用相同的機制iframe內的元素進行更復雜的東西

你可以(包括拖放!)還要執行在父頁面中iframe內定義的函數。語法是類似和直觀的:

ifrm.contentWindow.yourFunction(); 

我希望以任何方式幫助你!

+0

這不適合我。我有正確的ids和iframe,但它不起作用。 iframe IS位於同一個文件夾中。 – Caleb

+0

@Caleb檢查瀏覽器的錯誤日誌。演示會很棒。 – Chris

+0

代碼[here](http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_iframe_contentdocument)工作 – Caleb