我知道可以使用JavaScript创建IFRAME。
客户端是否也可以指定正文HTML,还可以在IFRAME和CSS上指定相关的JavaScript?
答案 0 :(得分:2)
我不确定我是否正确理解你的问题。
我们可以通过调用
来获取iframe文档 iframeEl.contentWindow.document
然后我们可以控制里面的html,css。
小心相同的原产地政策:
我们只能控制与主页面相同的iframe。
答案 1 :(得分:1)
您希望网页看起来像这样(摘要):
<html>
...mypage header...
<iframe src="otherpage.com" class="myclass" />
...mypage footer...
</html>
右?
使用javascript,您可以更改除“otherpage.com”内容之外的任何内容。您可以更改iframe
等的类。我建议使用jquery,因为它提供了操作HTML DOM的简便方法。
如果您想更改iframe内容的外观,那么您可以这样做,但我会强烈反对它。如果您决定这样做,可以查看this post解释如何使用jQuery进行操作。您还可以查看我从以下位置复制此来源的this post:
var frm = frames['frame'].document;
var otherhead = frm.getElementsByTagName("head")[0];
var link = frm.createElement("link");
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", "style.css");
otherhead.appendChild(link);
我认为javascript上的事情并不容易。出于安全原因,您无法执行父站点端托管的javascript以影响iframe
目标。如果您的目标站点在您的控制之下,那么您可以使用一些跨域通信(您可以看到this post),但这也不是一项简单的任务。
通常,操纵iframe
内容意味着系统的功能取决于您无法控制的另一个系统的功能。您了解当您执行此操作时,非常依赖您的系统。如果iframe
内容发生变化,那么您的代码就会依赖于它。 我强烈反对你不要遵循这条道路。
希望我帮忙!