我在网站上有很多打开的标签-我想将其限制为仅一个URL。
问题在于URL中包含#
,而我似乎无法@match。
URL看起来像:https://xxx.xxxxxx.xxx/#/xxxxxx
我尝试过:
// @match https://xxx.xxxxxx.xxx/#/xxxxxx - doesnt work
// @match https://xxx.xxxxxx.xxx/* - works - but works on all tabs
// @match https://xxx.xxxxxx.xxx/*/xxxxxx -doesnt work;/
// @match https://xxx.xxxxxx.xxx/\#/xxxxxx -doesnt work;/
*和它后面的任何内容的任何组合均不起作用。 :(
答案 0 :(得分:2)
该问题与Greasemonkey/Tampermonkey @match for a page with parameters密切相关。
CString CDataset::GetFieldAsString(char * FieldName)
{
if(this->IsNull(FieldName))
return "";
else
return this->pRs->Fields->Item[FieldName]->Value.bstrVal;
}
only works on the protocol/scheme, host, and pathname of a URL.
要触发散列值(正式为called the "fragment"),可以使用 note-1 或使用{{1} },然后自己测试网址。@match
因此,使用如下代码:
@include
对于此示例,该代码:
@match
...
// @match *://YOUR_SERVER.COM/YOUR_PATH/
// ==/UserScript==
if ( ! /#unicorn.*/.test(location.hash) ) return;
// REST OF YOUR CODE HERE.
等https://YOUR_SERVER.COM/YOUR_PATH/#unicorn
https://YOUR_SERVER.COM/YOUR_PATH/#unicorn-mode
(如果需要,请在https://YOUR_SERVER.COM/YOUR_PATH/#unicom
的末尾添加https://YOUR_SERVER.COM/YOUR_PATH/?foo=bar#unicorn
。)重要提示:仅适用于初始页面加载。 *
可以在页面加载后更改,并且处理起来更加复杂,因此未在此问题中进行说明。
因此,对于这种情况,请打开一个新问题并参考该问题。
注意:
@match
,因此即使在hash
和seems likely to remain that way for the near future中,碎片/哈希也被忽略了。