2016-02-29 72 views
1

所以问题是,脚本工作,直到我登录到Facebook,然后发射脚本,我将不得不手动刷新整个网站。Facebook不会触发刷新事件,Tampermonkey将无法工作?

// ==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!'); 

回答

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两种方案(HTTP和HTTPS)的任何URL .COM。

基本上@includes@match之间的不同之处在于@includes允许正则表达式,但在你的情况看来,这是没有必要的。

在这里你可以看到更多的信息上how @match works.

+0

谢谢,我被检查通过的setInterval的网址,但方式似乎更好。 – stevenhawkingsbiggestfan

+0

@stevenhawkingsbiggestfan很高兴帮助你':)' – albciff