我不知道这是否可能,所以如果这个问题有点无知,我会提前道歉。 我正在使用一个必须使用模板的网站,不允许使用PHP等服务器端语言。网站上有一个我想要修改的外部JS文件,但我无法弄清楚如何使用JQuery从主脚本访问/修改它。
如果不清楚,这是一个例子:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="fileToModify.js"></script>
<title>Untitled Document</title>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>code to modify external file goes here</script>
</body>
</html>
在上面的例子中,我希望能够放置代码(在JQuery / JS /其他语言中),其中“修改外部文件的代码在这里”,并改变“fileToModify的本地副本”。 js“(例如,删除其中的函数)。我知道,如果成功,这样的删除不能改变服务器上托管的真实文件;我只是尝试在用户下载本地副本时更改本地副本以更改页面加载后的行为方式。)
使用JQuery / JS /类似的东西可以实现这样的任务吗?
感谢您的帮助
答案 0 :(得分:5)
您可以使用ajax获取文件的内容(而不是执行它),然后使用javascript替换某些数据。然后你可以使用eval
来执行它。
$.ajax({
method: 'GET',
dataType: 'text',
url: 'to-modify.js'
}).then(function(data) {
data = data.replace('bar();', '')
eval(data)
})
<强> Live demo (click) 强>