mysql でクエリを実行し、ドメインを含むいくつかのデータを返すスクリプトを含む小さなサイトがあります。これらのドメインは生成された html リンクであり、php の部分にアクセスできないため、javascript で変更したいのですが、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なしで修正するにはどうすればよいですか?
ありがとう