我有以下脚本在chrome / Firefox中工作正常但在IE中没有。
对象不支持属性或方法'替换'
我需要替换部分网址并在新标签中打开该链接。基本上它运行在一个安全的站点后面,所有外部链接都在那之前得到了服务器名称,所以我需要用' http替换它:'
$('a[href*="youtube.com"]').attr("href", $('a[href*="youtube.com"]').replace ("https://serverdomain.com/", "http:"))
仅对IE上面的脚本抛出错误。
答案 0 :(得分:6)
首先,您尝试在jQuery对象上使用replace
,因此您收到replace is undefined
错误。其次,attr()
可以使用一个函数,您可以使用该函数更简单地返回替换值。试试这个:
$('a[href*="youtube.com"]').attr("href", function(i, value) {
return value.replace("https://serverdomain.com/", "http:");
});
我认为您还需要将http:
更改为http://
,以确保您的网址有效。