我正在使用Tampermonkey来翻译Shopify的仪表板/管理员。
为了安全起见,我不希望Tampermonkey使用Shopify管理仪表板的某些部分。
商人创建的文本(在产品,页面,集合,模板等中)会被Tampermonkey取代,这确实很危险。
有两种方法可以解决此问题:
@exclude
指令。 我已经使用了后者,但脚本未监听@exclude。这是用户脚本:
// ==UserScript==
// @name Shopify_Admin_Spanish
// @namespace http://*.myshopify.com/admin
// @version 0.1
// @description Tu tienda Shopify, por detrás, en español!
// @exclude https://*.myshopify.com/admin/products
// @exclude https://*.myshopify.com/admin/collections
// @exclude https://*.myshopify.com/admin/blogs
// @exclude https://*.myshopify.com/admin/pages
// @exclude https://*.myshopify.com/admin/themes
// @match https://*.myshopify.com/*
// @copyright microapps.com
// ==/UserScript==
PS。我使用Google Chrome浏览器进行了所有检查,并且不愿意使用任何其他浏览器。
最佳答案
@exclude
非常精确。您需要在每个排除行上都添加尾随星号。例如:
// @exclude https://*.myshopify.com/admin/products*
// @exclude https://*.myshopify.com/admin/collections*
// @exclude https://*.myshopify.com/admin/blogs*
// @exclude https://*.myshopify.com/admin/pages*
// @exclude https://*.myshopify.com/admin/themes*
考虑(并安装)此Tampermonkey脚本:
// ==UserScript==
// @name _match and exclude testing
// @match http://*.stackexchange.com/*
//
// @exclude http://*.stackexchange.com/questions*
// @exclude http://*.stackexchange.com/tags
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
$("body").prepend ('<h1 style="background: yellow;">Match Script fired on this page.</h1>');
如果您随后访问arduino.stackexchange.com/tags,则脚本不会触发,但是在访问时:
或
它会!
将第二个排除行更改为:
// @exclude http://*.stackexchange.com/tags*
解决问题。
如果仍然有困难,请指定您的Chrome,Tampermonkey和操作系统的版本。并且,提供演示该问题的目标页面。