显示新的、动态解析的 HTML 文档 jQuery
Show new, dynamically parsed HTML document jQuery
我有两个 html文件:
- 为主要内容。
- 一个包含
iframe
使用外部 URL。
URL 到 iframe
是使用 jquery 动态创建的。
我想避免拥有两个不同的 html 文档,而是想动态地创建一个包含 iframe
的新 html 文档,例如:
var dynamic_img_path = 'my_external_url';
var html_to_parse = '<html><head><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><title>my title</title><style type="text/css">html {margin: 0;height: 100%;overflow: hidden;}iframe {position: absolute;left: 0;right: 0;bottom: 0;top: 0;border: 0;}</style></head><body><h1>my heading 1</h1><iframe id="iframe-id" width="100%" height="100%" frameborder="0" src='+ url_param +'></iframe></body></html>';
然后我将字符串 html_to_parse
解析为 dom:
var parser = new DOMParser();
var new_html = parser.parseFromString(html_to_parse, "text/html");
这会生成我想要的 html 文档。
但是如何显示这个新的 html? IE。我怎样才能像使用标准 window.location
更改一样使用它,以便显示这个新的 html?
将正文的 innerHTML
设置为 documentElement.innerHTML
,如下所示:
window.document.body.innerHTML = new_html.documentElement.innerHTML
我有两个 html文件:
- 为主要内容。
- 一个包含
iframe
使用外部 URL。
URL 到 iframe
是使用 jquery 动态创建的。
我想避免拥有两个不同的 html 文档,而是想动态地创建一个包含 iframe
的新 html 文档,例如:
var dynamic_img_path = 'my_external_url';
var html_to_parse = '<html><head><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><title>my title</title><style type="text/css">html {margin: 0;height: 100%;overflow: hidden;}iframe {position: absolute;left: 0;right: 0;bottom: 0;top: 0;border: 0;}</style></head><body><h1>my heading 1</h1><iframe id="iframe-id" width="100%" height="100%" frameborder="0" src='+ url_param +'></iframe></body></html>';
然后我将字符串 html_to_parse
解析为 dom:
var parser = new DOMParser();
var new_html = parser.parseFromString(html_to_parse, "text/html");
这会生成我想要的 html 文档。
但是如何显示这个新的 html? IE。我怎样才能像使用标准 window.location
更改一样使用它,以便显示这个新的 html?
将正文的 innerHTML
设置为 documentElement.innerHTML
,如下所示:
window.document.body.innerHTML = new_html.documentElement.innerHTML