我正在翻译 Shopify 的仪表板/管理员使用 Tampermonkey。
为了安全起见,Shopify 的某些部分管理仪表板 我不希望 Tampermonkey 使用。 商家创建的文本(在产品、页面、集合、模板中...)会被 Tampermonkey 替换,这非常危险。
有两种方法可以解决这个问题:
- “指示”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==
附言。我使用 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 和操作系统的版本。并提供展示问题的目标页面。
关于javascript - Tampermonkey 忽略@exclude,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25864833/