Tôi đang tạo tập lệnh người dùng Grasemonkey đang trở nên thực sự lớn.Có thể tách các tập lệnh người dùng Greasemonkey thành nhiều tệp không?
Tôi có thể chia thành nhiều tệp nhỏ hơn không? Nếu vậy, làm thế nào?
Tôi đang tạo tập lệnh người dùng Grasemonkey đang trở nên thực sự lớn.Có thể tách các tập lệnh người dùng Greasemonkey thành nhiều tệp không?
Tôi có thể chia thành nhiều tệp nhỏ hơn không? Nếu vậy, làm thế nào?
Vâng, và trong Greasemonkey, nó khá dễ dàng. Nếu bạn muốn chia kịch bản của bạn vào i18n.js
, một cơ thể kịch bản chính utils.js
và bạn (và đã có chúng theo thứ tự trên kịch bản gốc), chỉ cần thay đổi tiêu đề kịch bản của bạn để đọc một cái gì đó như thế này:
i18n.js:
var hello = 'bonjour!';
utils.js:
function say(msg) { alert(msg); }
my.user.js:
// ==UserScript==
// @name My nifty script
// @namespace Your unique author identifier
// @require i18n.js
// @require utils.js
// ==/UserScript==
say(hello);
... và Greasemonkey sẽ tải về và cài đặt tất cả ba tác phẩm, tham gia cùng họ lên theo thứ tự được liệt kê bởi @require
báo cáo của bạn (kịch bản chính cuối cùng), và thực hiện nó như thường lệ. Đặt chúng vào cùng một thư mục trên máy chủ mà bạn phân phối chúng hoặc đảm bảo cung cấp URL đầy đủ trong các câu lệnh @require
đến nơi chúng cư trú trên mạng.
Tất nhiên bạn có thể. Ví dụ, nếu bạn sử dụng Greasemonkey như Mozilla addon, sau đó trong config.xml
bạn có thể sử dụng <Require>
:
<UserScriptConfig>
<Script filename="babelfish.yahoo.com.js" name="Babel Fish" namespace="html" basedir=".">
<Include>http://babelfish.yahoo.com/*</Include>
<Require filename="document.js"/>
<Require filename="cookie.js"/>
<Resource name="babelfishCSS" filename="babelfish.yahoo.com.css" mimetype=""/>
</Script>
...
Cả document.js
và cookie.js
phải ở trong cùng một thư mục như babelfish.yahoo.com.js
.
Nếu động cơ của bạn sử dụng trong tập tin chú thích, sau đó sử dụng @require
chỉ:
// ==UserScript==
// @description This script automatically recovers the language selection.
// @include http://babelfish.yahoo.com/*
// @require cookie.js
// @require document.js
// @resource babelfishCSS babelfish.yahoo.com.css
// ==/UserScript==
Trong khi không có thông tin nào ở trên không chính xác, 'config.xml' là chi tiết triển khai riêng của Greasemonkey, không cần phải chọc tức theo cách thủ công, và làm như vậy có thể gây ra mọi vấn đề, Greasemonkey mất dấu vết của tất cả các tập lệnh đã cài đặt của bạn. – ecmanaut
Nếu bạn biết cách tách các tập lệnh thành các phần nhỏ hơn mà không cần thao tác thủ công - bạn có thể chia sẻ cách tiếp cận của mình. Trên đây là những công trình tốt cho tôi. –
Thật dễ dàng: Chỉ cần cắt nó thành các tệp riêng biệt theo ý muốn, chỉnh sửa tập lệnh chính thành '@ require' các phần khác theo thứ tự mong muốn và cài đặt lại tập lệnh chính (giữ cùng' @ name' và '@ namespace' như nó đã có ban đầu). Nếu tập lệnh gốc của bạn không được chỉ định '@ namespace' hoặc' @ name', bạn có thể cũng cần lưu nó vào cùng một URL như bạn đã cài đặt trước khi cài đặt lại. – ecmanaut