2011-05-20 77 views
-1

好吧,所以我知道这是非常奇怪和不正常的,我应该避免它,但这是我想要做的。我基本上想通过jQuery在头文件中重新加载每个<script>。您可以使用.load(url+" #element"),但这仅适用于ID不带标签的元素。使用jQuery重新加载<head>

如何选择并重新加载文档中的所有脚本?

感谢

+0

只需重新加载页面。 – ThiefMaster 2011-05-20 23:23:24

回答

-2

我发现了一个替代解决方案,并采取了漫长的路线才是安全的。谢谢你们的答案。这里肯定有一些有用的信息。

+0

你的解决方案是什么?把它作为你的答案编辑,以防别人帮助别人。 – Jacksonkr 2013-09-14 18:14:39

0

据我所知,你正在试图做的是负载更JS到页面上。如何使用AJAX(以PHP作为后端)获取JS文件的内容(作为字符串),然后使用Javascript的eval()函数在客户端执行它。

+0

你甚至不需要使用PHP,你会吗?只要获取JavaScript文件....除非文件来自不同的域,我想。 – sdleihssirhc 2011-05-20 23:25:20

+0

噢,你可以在jQuery ajax调用中将dataType设置为'script',或者使用http://api.jquery.com/jQuery.getScript/来获取脚本并执行它。 – ErJab 2011-05-20 23:58:39

0

最好的办法就是重新添加每个脚本标签。

$('head script').each(function(idx,el){ 
    var pSrc = $(el).attr('src'); 
    if (pSrc) 
    { 
     $('head').append('<script src="'+pSrc+'"></script>'); 
    } 
}); 

我做了一个粗略的测试,它似乎工作正常。

+0

快速提示btw ...如果脚本有某种碰撞检测,辅助呼叫可能不会覆盖第一个。 替代方法是......重新加载浏览器,因为只要您尝试清除全局变量,所有投注就会关闭。 – 2011-05-20 23:32:26