gpt4 book ai didi

javascript - 关于更改 url 或加载 url 的 Jquery 问题

转载 作者:行者123 更新时间:2023-11-28 02:38:23 25 4
gpt4 key购买 nike

使用下面的脚本,我试图通过单击 anchor 标记在浏览器中加载变量“url”的输出,同时执行它会在警告框中显示预期的结果路径,但它会加载 anchor 中提到的路径标签。我想在浏览器的同一选项卡中加载输出路径。请帮我解决这个问题。

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("a").on('click', function(){
var reqURL = window.location.href;
var hrefVal = $(this).attr('href');
var url;
if(hrefVal.indexOf("http")== -1){
if(reqURL.indexOf("/ca-en") != -1){
url="http://www.mywebsite.com/site2"+hrefVal;
}else if(reqURL.indexOf("/ca-fr")> -1){
url="http://www.mywebsite.com/site3"+hrefVal;
}else{
url="http://www.mywebsite.com"+hrefVal;
}
alert(url);
window.open(url,"_self");
}
});
});
</script>
</head>

<body>
<ul>
<li>
<a class="category" href="/home.html">home<span class="icon plus"></span></a>
<ul class="submenu">
<li><a href="/home/abc.html">abc</a></li>
<li><a href="/home/xyz.html">xyz</a></li>
<li><a href="/home/tam.html">tam</a></li>
</ul>
</li>
</ul>
</body>
</html>

最佳答案

在执行您的自定义行为逻辑之前,必须停止 anchor 标记的默认行为。你的代码可以这样写:

<script>
$(function(){
$("a").on('click', function(e){
e.preventDefault();
var reqURL = window.location.href;
var hrefVal = $(this).attr('href');
var url;
if(hrefVal.indexOf("http")== -1){
if(reqURL.indexOf("/ca-en") != -1){
url="http://www.mywebsite.com/site2"+hrefVal;
}else if(reqURL.indexOf("/ca-fr")> -1){
url="http://www.mywebsite.com/site3"+hrefVal;
}else{
url="http://www.mywebsite.com"+hrefVal;
}
alert(url);
window.open(url,"_self");
}
});
});
</script>

关于javascript - 关于更改 url 或加载 url 的 Jquery 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45756865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com