Jquery加载与内联javascript
jquery load with inline javascript
我使用jquery加载来获取不同页面上的div并将其插入到我的页面中。像这样:
$('#mydiv').load("/Pages/grid2.aspx" + " #otherpagediv");
在另一个页面的div中,div中有javascript。javascript没有出现,只有html内容。是否有一种方法可以在指定的div中获得所有内容?
这行得通:
$.get( '/Pages/grid2.aspx', function ( data ) {
$( '#mydiv' ).html( $( '<div></div>' ).html( data ).find( '#otherpagediv' ).clone() );
});
现场演示: http://jsfiddle.net/FRbnD/4/show/light/
要理解演示,请查看组成演示的两个页面的源代码:
演示的源代码:http://jsfiddle.net/FRbnD/4/
"另一页"源代码:http://jsfiddle.net/MWkSj/1/
$.get
请求检索另一个页面,然后找到#otherpagediv
并克隆它。然后将克隆追加到#mydiv
。如果您向DOM插入一个克隆,并且该克隆包含一个SCRIPT元素,则该脚本将被执行。 From documentation:
注意:当使用没有后缀选择器的URL调用.load()时表达式中,在脚本运行之前,内容被传递给.html()移除。这将在脚本块被丢弃之前执行它们。
如果.load()调用时,选择器表达式附加在URL,脚本在DOM更新之前被剥离,这就是为什么它们永远不会被执行。
JavaScript
也应该跟着响应。您必须确保/Pages/grid2.aspx
应该从服务器端发送所需的响应。此外,您传递给load
方法的url中有一个空格。我认为你应该纠正并尝试一下。
$('#mydiv').load("/Pages/grid2.aspx" + "#otherpagediv");
http://www.coursesweb.net/ajax/execute-javascript-code-ajax-response_t
你可能会发现这个页面很有用,我已经使用了这个脚本,它使用eval()
// this function create an Array that contains the JS code of every <script>
// then apply the eval() to execute the code in every script collected
function parseScript(strcode) {
var scripts = new Array(); // Array which will store the script's code
// Strip out tags
while(strcode.indexOf("<script") > -1 || strcode.indexOf("</script") > -1) {
var s = strcode.indexOf("<script");
var s_e = strcode.indexOf(">", s);
var e = strcode.indexOf("</script", s);
var e_e = strcode.indexOf(">", e);
// Add to scripts array
scripts.push(strcode.substring(s_e+1, e));
// Strip from strcode
strcode = strcode.substring(0, s) + strcode.substring(e_e+1);
}
// Loop through every script collected and eval it
for(var i=0; i<scripts.length; i++) {
try {
eval(scripts[i]);
}
catch(ex) {
// do what you want here when a script fails
}
}
}
相关文章:
- 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加载本地文件