2012-08-25 196 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