使用本地生成的代码通过 JavaScript 加载 IFrame
Loading IFrame through javascript using localy generated code
背景信息:
你好最近我一直在尝试为我的学校创建一个网站生成器,它进展顺利,它几乎具有与 Wix 一样多的功能。最近我尝试通过视差.js添加对视差效果的支持,它运行良好(您可以生成网站并在保存并在新选项卡中打开它时看到它),但是视差.js不会在每次更改页面时重新扫描页面以查找视差元素。我尝试使用iframe来执行此操作,它起作用了。但是,我给他们预览的方式是代码是在客户端(在页面制作器中)生成的,所以我需要一种方法来使用生成的代码通过 javascript "加载"IFrame。
直截了当
:如何加载使用由 JAVASCRIPT 在客户端生成并存储在变量中的代码的 IFrame 页面?每次对页面进行更改时都需要重新加载它,这将触发第三方软件库。
你应该能够逃脱: -
var newCode = "<p>YOUR HTML</P>";
$('#myIframe').contents().find('html').html(newCode);
如果 jQuery 不可用,则相当于: -
var newCode = "<p>YOUR HTML</P>";
var iframe = document.getElementById('myIframe');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
iframeDoc.getElementsByTagName('html')[0].innerHTML = newCode;
但是,根据您的浏览器支持目标,一种更"未来主义"的方法可能是使用 HTML5 srcdoc
属性。在撰写本文时,IE 不支持此功能。
<iframe srcdoc="<p>Hello world!</p>" src="demo_iframe_srcdoc.htm"></iframe>
如果浏览器支持 srcdoc 属性,它将覆盖 src 属性中指定的内容(如果存在)。
要使用变量更新它,您应该能够选择 iframe 并获取 srcdoc
属性,然后将变量指定为值。
var newCode = "<p>New code</p>";
document.querySelector('iframe').setAttribute('srcdoc', newCode);
// or try this -
document.getElementById("myFrame").srcdoc = "<p>Some new content inside the iframe!</p>";
延伸阅读:
- http://www.w3schools.com/tags/att_iframe_srcdoc.asp
- http://www.w3schools.com/jsref/prop_frame_srcdoc.asp
相关文章:
- HTML外部javascript加载另一个javascript
- 什么是谷歌地图'的javascript加载策略
- 使用javascript加载knockoutjs组件
- Javascript - 加载函数运行时未定义的变量
- 使用javascript加载并显示来自另一个域的页面,而不显示原始URL
- 使用Javascript加载页面
- Javascript加载时间过长
- 使用纯Javascript加载外部URL内容
- 如何在使用javascript加载页面时直接设置对象参数
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- 将外部 SVG 和包含 JavaScript 加载到 HTML 中
- 是否有一个 JavaScript 加载器可以将套接字的数量限制为 1 或 2
- 使用本地生成的代码通过 JavaScript 加载 IFrame
- Jquery/javascript:加载页面时不需要的重复函数
- 一段时间后使用Javascript加载网页ASP.net
- 在https网站上用javascript加载封面图片
- 如何使用cURL获取JavaScript加载的网络内容
- 如何检查是否使用javascript加载了框架?-不是加载,不是iframe
- I'我正在尝试将JavaScript加载到我的UIWebView中
- 如何用Javascript加载本地文件