我正在尝试在网页中渲染网页。我想要渲染的页面是一个包含 javascript 和 html 的常规网页。我想运行页面中的脚本并将输出输出到变量中。
例如,如果页面包含:
<html><body><script src="foo.js"></script></body></html>
我想将其读入变量
var bar = $.get('page.html');
foo.js 的组成
for(var i=0;i<3;i++) document.write(i+'<br>');
我希望变量中包含以下内容:
<html><body>0<br>1<br>2<br></body></html>
这可能吗?
最佳答案
如果您只是想让内部页面自行处理其渲染逻辑,最好使用 iframe。
或者您可以尝试 jquery loadScript 方法。这将在全局上下文中加载脚本,并提供可用于构造变量的成功处理程序。
例如
$.getScript( "ajax/test.js", function( data, textStatus, jqxhr ) {
console.log( data ); // Data returned
console.log( textStatus ); // Success
console.log( jqxhr.status ); // 200
console.log( "Load was performed." );
});
进一步了解help
关于javascript - 如何运行在充满 html 的字符串中定义的 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29300705/