Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 使用唯一id(锚链接)加载页面时触发事件_Javascript - Fatal编程技术网

Javascript 使用唯一id(锚链接)加载页面时触发事件

Javascript 使用唯一id(锚链接)加载页面时触发事件,javascript,Javascript,我需要一个按钮来触发页面加载。我已经知道了如何使用window.onload函数 但我需要弄清楚的是,只有当从唯一id加载页面时,如何触发此操作(例如,从example.com/#xyz访问时,按钮会自动单击,但从example.com访问时不会触发) 我对js了解不多,所以我不确定这是否可能 谢谢。听起来你需要一份if声明 if(location.hash === "#xyz") { /// Do stuff } 没有“当URL哈希成为特定值时”的事件。“页面加载

我需要一个按钮来触发页面加载。我已经知道了如何使用window.onload函数

但我需要弄清楚的是,只有当从唯一id加载页面时,如何触发此操作(例如,从example.com/#xyz访问时,按钮会自动单击,但从example.com访问时不会触发)

我对js了解不多,所以我不确定这是否可能


谢谢。

听起来你需要一份if声明

if(location.hash === "#xyz") {
    /// Do stuff
}

没有“当URL哈希成为特定值时”的事件。“页面加载”和“url哈希更改”都有事件,任何比这更具体的检查都需要通过在其中一个事件中放入
if
语句来处理。

听起来你需要if语句

if(location.hash === "#xyz") {
    /// Do stuff
}

没有“当URL哈希成为特定值时”的事件。“页面加载”和“url哈希更改”都有事件,任何比这更具体的检查都需要通过在其中一个事件中放入
if
语句来处理。

对于jquery问题,使用javascript回答是很常见的,因为为了简单起见。因为它很容易用JavaScript实现

var location = window.location.pathname; //returns /xyz/index.html
请注意,建议不要在jquery中使用$(location),因为它可能不会提供预期的行为

$(location).attr('pathname');
请阅读这篇文章,更清楚地了解JS和JQuery的最佳实践比较。
我加入了答案以保持其清晰性,并链接以获得更多解释。

对于jquery问题,使用javascript获得答案是很常见的,因为为了简单起见。因为它很容易用JavaScript实现

var location = window.location.pathname; //returns /xyz/index.html
请注意,建议不要在jquery中使用$(location),因为它可能不会提供预期的行为

$(location).attr('pathname');
请阅读这篇文章,更清楚地了解JS和JQuery的最佳实践比较。
我加入了答案以保持清晰,并链接以获得更多解释。

我想您忘记了
符号在URL中有特殊行为。URL哈希不会显示为路径名的一部分。是的,感谢您指出。让我来编辑我的答案哦,这也不是它的工作原理。如果URL是“example.com/#xyz”,那么路径名将只是“/”,因为哈希符号之后的所有内容都将移动到
hash
变量中,而不是
pathname
变量中。另外,index.html也不会被添加,因为这只是服务器工作方式的一个细节,而不是URL的一部分。我想你忘了
#
符号在URL中有特殊的行为。URL哈希不会显示为路径名的一部分。是的,感谢您指出。让我来编辑我的答案哦,这也不是它的工作原理。如果URL是“example.com/#xyz”,那么路径名将只是“/”,因为哈希符号之后的所有内容都将移动到
hash
变量中,而不是
pathname
变量中。此外,index.html也不会被添加,因为这只是服务器工作方式的一个细节,而不是URL的一部分。