访问并更改<script>标记</script>的属性

时间:2011-08-08 09:48:19

标签: javascript

如何访问和更改标签的属性,特别是src? 这样的事情可能是:

document.scripts[i].src

当然不行! 我打算用这种方式改变它:

document.scripts[i].src += '?ver3'

在页面上所有脚本的循环中。

3 个答案:

答案 0 :(得分:4)

您可以使用document.getElementsByTagName('script')获取页面中的所有脚本元素。

但是,您找到的任何脚本元素都已经加载了内容,因此更改用于加载内容的网址为时已晚。

如果要更改URL,则应在服务器端使用解决方案,以便在URL到达浏览器时更改URL。

答案 1 :(得分:2)

使用jQuery:

jQuery("script").each(function(){
    var old_src = jQuery(this).attr('src');
    jQuery(this).attr('src', old_src+'?ver3');
})

有着古老的JS:

var scripts = document.getElementsByTagName('script');
for (var i=0; i<scripts.length; i++){
    var old_src = scripts[i].getAttribute('src');
    scripts[i].setAttribute('src', old_src +'?ver3');
}

答案 2 :(得分:0)

安装httpd(Apache)和PHP。 将此行放入您的主机文件(或hosts.txt):

127.0.0.1 example.com

编写一个名为index.php的php脚本并将其放入服务器目录(/ var / www / html或类似的内容;取决于配置)。

当您在网络浏览器http://example.com中加载时,您将被重定向到127.0.0.1(您的本地服务器),而在PHP中,此变量$_SERVER["HTTP_HOST"]将设置为example.com。< / p>

获取此网站(例如使用cURL),更改您想要的内容(使用字符串函数,正则表达式,DOMDocument,SimpleXML等)并将修改后的内容发送到浏览器。

这就是全部。 :)