javascript - 如何运行在充满 html 的字符串中定义的 JavaScript?

标签 javascript jquery html

我正在尝试在网页中渲染网页。我想要渲染的页面是一个包含 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/

相关文章:

jquery - 如何更改一页网站中的导航和悬停工具提示背景颜色

javascript - 在 Angular 中安装离线 Bootstrap

javascript - 在 Vue.js + Laravel 中将 $var 传递到 @{{ }} 中不起作用

jquery - 为什么 CSS3 过渡不能工作多次

html - 如何在 CSS/bootstrap 中将两行 7 列/图 block 排成一行?

javascript - 从 MediaSource 播放时无法搜索视频

html - 谷歌字体显示=交换奇怪的行为

javascript - 从另一个发送参数的任务调用 gulp 任务两次

javascript - 所有内容均避免使用 jquery 函数

jquery - 理解 iife 中的 $ 与 jQuery 而不是 $