我有一个带有脚本的小站点,该脚本使用 mysql 运行查询并返回一些数据,包括域。这些域是生成的 html 链接,我想在 javascript 中进行更改,因为我无法访问 php 的部分,但可以访问 javascript 和 css 代码。
我只希望您在链接上触发点击事件时运行代码。我试图默认停止执行并进行更改,但我的代码没有打开页面。如果我删除 preventDefault 仅适用于 Firefox,但我没有 chrome。(window.open 没用,我要改原来的链接)。
var domains = document.getElementsByClassName("domain");
for(var x = 0; x < domains.length; x++){
if(domains[x].addEventListener) {
domains[x].addEventListener("click", changeLink, "false");
} else if(domains[x].attachEvent) {
domains[x].attachEvent("onclick", changeLink);
}
}
function changeLink(evt){
var urlOriginal = this.href;
// If I remove preventDefault, the function runs correctly on firefox but not in chrome
evt.preventDefault();
if(urlOriginal != 'http://google.com') {
urlOriginal = urlOriginal.replace(/http:\/\//g, '');
evt.stopPropagation();
this.href = 'http://intodns.com/' + urlOriginal;
console.log('Okay !');
}
return true;
}
我尝试了一些更改,但没有一个正在运行,事实并非如此。
有谁知道故障原因?没有window.open如何修复它?
谢谢