数ページ(http://something.com)に次のURLがあります。
<a href="http://something.com">Home</a>
<a href="index.html">Index</a>
<a href="about.html">About</a>
<a href="contact.php">Contact</a>
<a href="#">Same</a>
<a hre="http://example.com/home.html">New Home</a>
<a href="../services.html">Services</a>
そして私が欲しいのはすべてのリンクを...に変換することです
<a href="http://this.com/?url=http://something.com">Home</a>
<a href="http://this.com/?url=http://something.com/index.html">Index</a>
<a href="http://this.com/?url=http://something.com/about.html">About</a>
<a href="http://this.com/?url=http://something.com/contact.php">Contact</a>
<a href="#">Same</a>
<a hre="http://this.com/?url=http://example.com/home.html">New Home</a>
<a href="../services.html">Services</a>
"#"
だから基本的に私は変換や"../"
そのようなリンクをしたくありません。
私はJSの初心者です。
私の努力から、w3schoolsの助けを借りて..私が達成しようとしたこと:-
<script type="text/javascript">
var url= document.getElementByTagName(a);
var pattern = /..\//g;
var result = pattern.test(url);
if(url.href != "#" || result === "false" ) {
var nurl = url.replace("http://this.com/?url="+url.href, url.href);
}
</script>
そして、私は何もできません...助けてください、どうすればURLを変更して追加できますかhttp://this.com/?url=My_web_page_url_here
。
更新 JavaScriptを次のように置き換えました
<script type="text/javascript">
var links = document.links;
var i = links.length;
while (i--) {
if (links[i].href.slice(-1) == "#" ||
links[i].getAttribute("href").slice(0, 3) == "../") {
continue;
}
links[i].href = "http://this.com/?url=" + encodeURIComponent(links[i].href);
}
</script>
それでも、すべてのURLは追加なしで同じようになります。