Facebook不会触发刷新事件,而且Tampermonkey无效吗?

时间:2016-02-29 13:20:42

标签: javascript google-chrome tampermonkey

所以问题是脚本工作直到我登录到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!');

1 个答案:

答案 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.

的更多信息