所以问题是脚本工作直到我登录到facebook,然后解雇脚本我必须手动刷新整个站点。
// ==UserScript==
// @name Open Test
// @version 1.0
// @description Test
// @include http://facebook.com/*
// @include http://*.facebook.com/*
// @include https://facebook.com/*
// @include https://*.facebook.com/*
// @include http://facebook.com/*/*
// @include http://*.facebook.com/*/*
// @include https://facebook.com/*/*
// @include https://*.facebook.com/*/*
// @include http://facebook.com/*/*/*
// @include http://*.facebook.com/*/*/*
// @include https://facebook.com/*/*/*
// @include https://*.facebook.com/*/*/*
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
alert('Hello world!');
答案 0 :(得分:1)
我不知道为什么@include
无法正常工作,因为它们中的一些似乎必须与Facebook登录页面匹配,无论如何,您可以尝试使用@match
来保持事情清楚,因为您的一些@includes
也在做同样的事情,例如您正在添加:
// @include https://facebook.com/*
// @include https://facebook.com/*/*
// @include https://facebook.com/*/*/*
但第一个就足够// @include https://facebook.com/*
,因为它已匹配例如https://facebook.com/example/path/other
。
因此,为了清楚说明,您可以尝试使用@match
,如下所示:
// ==UserScript==
// @name Open Test
// @version 1.0
// @description Test
// @match *://www.facebook.com/*
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
alert('Hello world!');
在这种情况下
@match *://www.facebook.com/*
: 在www.facebook.com中将任何URL与两种方案(http和https)匹配。
基本上@includes
和@match
之间的区别在于@includes
允许正则表达式,但在您的情况下似乎不需要这样做。
您可以在此处查看有关how @match
works.