我的"require": {
"magento/product-enterprise-edition": "2.2.5",
"composer/composer": "@alpha",
"yourvendor/sample-external-links": "dev-master", // your module should add here
},
函数有问题。我想在javascript
URL中添加一些参数。例如,我想在单击href
的URL中添加?param=1
。但是在添加一些参数之前,我要检查href
中的url是否为 http://example.com ,并且该参数不包含href
。检查后,URL为 http://example.com 并且不包含?param=1
,我想在该URL中添加?param=1
。为什么要在添加参数之前先检查?这是因为我不想在任何URL中添加参数,而只是在我想要的特定URL中添加
这是我到目前为止所做的:
?param=1
但是,如果window.addEventListener("click", function(e) {
var href = e.target.getAttribute("href");
if(href) {
location.href = href + "?param=1";
e.preventDefault();
}
});
为 http://example.com ,我不知道如何检查并制定具体条件。请任何人知道如何做到这一点对我有帮助。谢谢你。
答案 0 :(得分:0)
检查queryString并查看它是否具有param1
值,如果没有,则附加它。
var url = new URL("http://www.example.com?param=1"); //window.location.href
if (url.searchParams.get('param'))
{
console.log("Param exists");
}
else
{
console.log("Param does not exist")
url + "?param=1"
console.log(url);
}
答案 1 :(得分:0)
window.addEventListener("click", function(e) {
e.preventDefault();
var href = e.target.getAttribute("href");
console.log(href);
if(href) {
if(href.indexOf("param=1")==-1){
href = href + "?param=1";
console.log(href);
// location.href = href;
}else{
href = href + "?param=2";
console.log(href);
// location.href = href;
}
//
}
});
<a href="http:example.com?param=1">click</a>
在字符串或对象中开始搜索的索引。如果找不到搜索,它将返回-1。
答案 2 :(得分:0)
$(document).ready(function(){
var href = "www.example.com?param=1";
if(href.indexOf("www.example.com") >=0 && href.indexOf("param=1") >= 0) {
alert('Url has given words');
//location.href = href + "?param=1";
// e.preventDefault();
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Check URL</div>
答案 3 :(得分:0)
签出:
window.addEventListener("click", function(e) {
const href = e.target.getAttribute("href");
if(href) {
console.log(href.includes('?param=1'));
// You can do whatever you want based on this condition
e.preventDefault();
}
});
<a href='http://example.com/'>Link 1</a>
<br/><br/>
<a href='http://example.com/?param=1'>Link 2</a>
答案 4 :(得分:-1)
了解有关indexOf的信息,以检查查询字符串中是否存在值
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))