Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript在javascript:href上模拟单击事件_Javascript_Jquery_Href - Fatal编程技术网

使用javascript在javascript:href上模拟单击事件

使用javascript在javascript:href上模拟单击事件,javascript,jquery,href,Javascript,Jquery,Href,我使用的是第三方系统,它允许我们添加自定义javascript,我需要一种方法来查找自定义URL,然后让系统弹出用户登录名,通过单击href=“javascript:;”调用该登录名 我觉得这可能是一个语法问题,但需要有人的帮助编辑:更新了更多代码并删除了可以在代码段中工作的代码 检查下面的代码片段,只需创建一个函数并像下面的示例中那样调用它fakeClick() 如果您想针对您提到的href,可以这样使用: const href = document.querySelector('[href=

我使用的是第三方系统,它允许我们添加自定义javascript,我需要一种方法来查找自定义URL,然后让系统弹出用户登录名,通过单击href=“javascript:;”调用该登录名


我觉得这可能是一个语法问题,但需要有人的帮助

编辑:更新了更多代码并删除了可以在代码段中工作的代码

检查下面的代码片段,只需创建一个函数并像下面的示例中那样调用它
fakeClick()

如果您想针对您提到的href,可以这样使用:

const href = document.querySelector('[href="javascript:;"]');
下面的代码段不会触发单击,因为我们使用的是
window.location.href这在stackoverflow代码段中不受支持。这就是说,如果您在项目中运行它,它将按预期运行

//您的来宾url
const guest_url=”https://our.site.com/webstoreNew/services/guestprofile";
让当前url=window.location.href;
//这是触发单击的a元素
const href=document.querySelector('[href=“javascript:;”);
console.log(href);
//这就是函数
//如果两者相等,则会触发单击atag
函数fakeClick(){
如果(当前url==来宾url){
href.click();
}
}
//我们在这里调用函数,因此它将立即运行
假点击()

使用jQuery,您可以使用来查询一个或多个元素

由于要查询精确的属性,因此必须将查询字符串的格式设置为:
[attributeName=“value”]

另一个注意事项是,您查询的内容必须是字符串。在其他尝试中,浏览器会尝试解析
javascript
href
,就好像这些都是变量一样,因此会出现错误

调用
click()
本身是正确的,它将触发一个click事件

//设置反馈;忽视
$(“a”)。单击(()=>console.log(“'a'被单击!”);
//正确查询
$('[href=“javascript:;”])。单击()


我认为这里的问题是“a”元素。在我的例子中,没有这样的元素,它只是a href=“javascript:;”引用。如图所示,登录-您可以使用querySelector查找href。这是一个强大的方法,可以帮助你参考网页上的任何内容。-只需将atag查询调用替换为可以引用您的href的内容。我已更新了我的答案,以显示如何将该href作为目标。这很好,但出于某种原因,系统会这样说:未捕获类型错误:无法读取guestprofile:42处null的属性“单击”,我已多次更改URL,以查看这是否是问题所在,但不是。你问题的HTML部分是实际代码的直接副本吗?如果是这样,锚元素是格式错误的HTML,因为标记以“对不起..我已经在空格中加了空格,但实际代码中没有空格。”。
<script>
const guest_url = "https://our.site.com/webstoreNew/services/guestprofile";
let current_url = window.location.href;


if(current_url === guest_url) {

$('href="javascript:;"')[0].click();
}

</script>
$(javascript:;)[0].click();
$(href="javascript:;")[0].click();
const href = document.querySelector('[href="javascript:;"]');