在我的代码中,我试图做这样的事情:
if (href = "http://hello.com")
{
whatever[0].click();
}
所以关键是,我正在尝试让脚本仅在特定href中打开窗口时单击按钮。
答案 0 :(得分:4)
window.location
包含许多有趣的值:
hash ""
host "stackoverflow.com"
hostname "stackoverflow.com"
href "http://stackoverflow.com/questions/21942858/is-there-anything-like-a-if-href-command"
pathname "/questions/21942858/is-there-anything-like-a-if-href-command"
port ""
protocol "http:"
search ""
所以,在你的例子中,那将是:
if (window.location.hostname === "hello.com") {
}
或者,您知道域名后可能要做的事情是使用pathname
:
if (window.location.pathname === '/questions/21942858/is-there-anything-like-a-if-href-command') {
}
window.location.toString()
会返回完整的网址(即您在地址栏中看到的内容):
>>> window.location.toString()
"http://stackoverflow.com/questions/21942858/is-there-anything-like-a-if-href-command/21942892?noredirect=1#comment33241527_21942892"
>>> window.location === 'http://stackoverflow.com/questions/21942858/is-there-anything-like-a-if-href-command/21942892?noredirect=1#comment33241527_21942892'
true
我一直避免这种情况,因为1)当你更改协议时它会中断(http / https)2)当你在另一个域上运行脚本时中断。我建议使用pathname
。
另见MDN。
奖金提示
你的例子是这样的:
if (href = "http://hello.com")
您使用 ONE =
,这是分配,而不是比较。您需要使用==
或===
(这是一个非常常见的错误,因此请注意它!)