Bản kê khai Manifest

Một phần của tài liệu XÂY DỰNG ỨNG DỤNG EXTENSIONS TRÊN MOZILA FIREFOX (Trang 27 - 31)

Một bản kê khai manifest mô tả một gói package và ánh xạ chúng từ nơi lưu trữ trên ổđĩa vào một chrome URL. Một file manifest sẽđược khảo sát khi một ứng dụng Mozilla cần biết những gói và thành phần được cài đặt, cái này có nghĩa là, tất cả những gì bạn cần để

cài đặt một gói mới là thêm vào một bản kê khai manifest mới trong thư mục ứng dụng chrome chỉđịnh.

Nếu bạn chỉ cần kiểm tra một mã XUL đặc biệt trong trình duyệt firefox, bạn có thể làm

điều này dễ dàng bằng cách sử dụng bản kê khai manifest duy nhất: 1.Tạo một thư mục mới ở bất kỳ nơi nào, vd: “C:\testfile\”

2. Tạo một file ASCII file gọi là test.manifest trong thư mục chrome. 3. Thêm vào dòng này trong file manifest:

content tests file:///C:/testfiles/

Bây giờ tất cả những gì bạn cần là thêm vào một vai file XUL vào trong thư mục mới tạo, bạn đã có thể nạp nó thông qua cách đánh vào chrome URL, và dĩ nhiên bạn cần khởi

động lại firefox để nhận thấy hiệu ứng. Cú pháp của một dòng cho gói content là: “content <packagename> <filepath>”

Với giao diện thì “skin” được thay cho “content” trong khi “locale” được sử dụng thay cho locale. Ta có thể tham khảo file browser.manifest được sử dụng trong firefox tương tự như său:

content branding jar:browser.jar!/content/branding/

content browser jar:browser.jar!/content/browser/ xpcnativewrappers=yes overlay chrome://global/content/viewSource.xul chrome://browser/content/viewSourceOverlay.xul overlay chrome://global/content/viewPartialSource.xul chrome://browser/content/viewSourceOverlay.xul overlay chrome://browser/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul

Hai gói được liệt kê ởđây, ‘branding’ và ‘browser’. Ba vật phủ ‘overlay’ được chỉ định, cái mà cho phép nội dung từ một gói khác kết hợp cùng nhău.

Đường dẫn của file cho gói branding và browser sử dụng jar URL với nội dung được

đóng gói trong một file nén, và có thể được tạo ra từ công cụ ZIP. Với một file jar đặt trong thư mục chrome, cú pháp là:

Jar:<filename.jar>!/<path_in_archive>

Với gói ‘tests’ đề cập phía trên. File không được đóng gói trong một file nén, song, một chỉ dẫn trực tiếp được sử dụng. cái này thường được dùng trong quá trình phát triển. Tuy nhiên, khi phân phối sản phẩm của mình, bạn muốn đóng gói chúng bên trong một file nén để trách cài đặt nhiều file nhỏ.

Theme và locale, cú pháp tương tự như gói content, nhưng bạn cần phải chỉ ra gói nội dung bạn đã cung cấp giao diện theme, hoặc địa phương locale. Ví dụ:

skin browser classic/1.0 jar:classic.jar!/skin/classic/browser/ locale browser en-US jar:en-US.jar!/locale/browser

6. Mt vài thành phn giao din XUL

6.1 To mt ca s mi

Một file XUL cần có phần mở rộng là xul. cấu trúc đơn giản nhất của một file XUL theo cấu trúc său:

<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window

id="findfile-window" title="Find Files" orient="horizontal"

xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <!-- Other elements go here -->

</window>

Cấu trúc này chưa có phần tử giao diện, ta sẽ đề cập tới trong những phần tiếp theo. Trong những dòng mã ở trên:

<?xml version="1.0"?>

dòng này đơn giản là khai báo đây là kiểu tài liệu XML. Bạn cần thêm vào dòng này trên cùng với mỗi file XUL .

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

dòng này để chỉ “style sheet” được sử dụng cho file XUL. Đây là cú pháp mà file XML sử dụng để nhập khẩu “style sheet”. Trong lựa chọn này chúng ta nhập khẩu kiểu dáng tìm thấy trong phần global của skin. Khi đó global.css được lựa chọn, file này chứa mọi khai báo mặc định cho tất cả các tài liệu XUL .

<window

Dòng này khai báo một cửa sổ bạn sẽ sử dụng. mỗi phần tử giao diện phải được khai báo riêng rẽ, tag này tương đương vói HTML file.

id="findfile-window"

thuộc tính id dùng để nhận dạng cửa sổ của bạn, cái mà có thể tham chiếu thông qua script.

title="Find Files"

thuộc tính này chỉđịnh dòng văn bản sẽ hiển thị trên thanh tiêu đề.

orient="horizontal"

orient thuộc tính chỉ ra sự xắp xếp các biểu tương trên cửa sổ. giá trị horizontal chỉ ra cho biết biểu tượng sẽđược đặt theo chiều ngang.

xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

dòng này khai báo tên miền cho XUL, chỉđịnh tất cả các phần tử hiển thị là XUL.

Đường dẫn URL này thực tế không được tải xuống. Mozilla sẽ đoán nhận URL này nội tại.

6.2 M ca s

Có vài cách để mở một cửa sổ XUL, bạn có thể tự đánh vào đườn dẫn URL vào trong thanh “location” trong cửa sổ trình duyệt Mozilla , cửa sổ XUL sẽ xuất hiện trong nội dung trình duyệt.

Bằng cách khác, bạn sẽ sử dụng chúng trong javascript, dùng hàm window.open() tương tự như dùng với tài liệu HTML, tuy nhiên bạn cần thêm vào một cờ để chỉ cho trình duyệt thấy bạn đang mở một chrome. Cú pháp của hàm này như său:

where the flags contains the flag "chrome" as in this example

window.open("chrome://navigator/content/navigator.xul", "bmarks", "chrome,width=600,height=300");

Bạn cũng có thể sử dụng command-line với thông số “-chrome” để chỉ định file XUL

được mở khi trình duyệt Mozilla khởi động:

mozilla -chrome chrome://communicator/content/bookmarks/bookmarksManager.xul If you are using Firefox, try below.

firefox -chrome chrome://browser/content/bookmarks/bookmarksManager.xul

6.3 Button Cú pháp để sử dụng button như său: Cú pháp để sử dụng button như său: <button id="identifier" class="dialog" label="OK" image="images/image.jpg" disabled="true" accesskey="t"/>

id: một giá trị duy nhất để nhận biết button đó. Bạn có thể tham chiếu tới các thuộc tính, kiểu dáng button được hiển thị thị.

Class: kiểu lớp của butto. Cái này làm việc tương tự như HTML. Nó được sử dụng để

trình bày kiểu dáng mà button được hiển thị. Trong lựa chọn này giá trị “dialog” được sử

dụng.

Label: nhãn cái mà sẽđược hiển thị trên button.

Image: đường dẫn tới một image được hiển thị trên button.

Disabled: nếu giá trị này được đặt là “true” nút bấm sẽ không thể thực hiện được các thao tác của mình.

6.4 Textbox

Trong khi XUL cung cấp một vài loại trường có thểđược tạo với phần tử “input”, trong XUL có tách biệt các phần tử cho mỗi loại. cú pháp của textbox:

<label control="some-text" value="Enter some text"/> <textbox id="some-text"/>

<label control="some-password" value="Enter a password"/> <textbox id="some-password" type="password" maxlength="8"/>

Id: một giá trị duy nhất mà bạn có thể nhận dạng được textbox.

Class: kiểu lớp mà textbox sử dụng.

Value: nếu bạn muốn textbox có văn bản mặc định, hỗ trợ với thuộc tính giá trị.

Type: bạn có thể đặt thuộc tính với một giá trị là “password” để tạo một textbox ẩn những ký tự bạn gõ.

Maxlength: số ký tự mà textbox cho phép!

Một textbox có thể cần nhập vào số bằng cách cài giá trị thuộc tính type với giá trị là “number”. Tuy nhiên giá trị này cần thêm vào giá trị lớn nhất và giá trị nhỏ nhất, bằng cách sử dụng thuộc tính minmax.ví dụ:

<textbox type="number" min="1" max="20"/>

Trong textbox còn có thêm tùy chọn sử dụng thuộc tính incrementđể chỉđịnh bao nhiêu giá trịđược tăng hay giảm khi nút mũi tên được nhấn, ví dụ:

<textbox type="number" increment="10" max="100"/>

Textbox này sẽ nhảy giá trị bằng 10, đến tối đa giá trị là 100. nếu thuộc tính min không

được chỉđịnh nó sẽ nhận giá trị mặc định là 0.

Chú ý: Bạn có thể tham khảo trên trang web http://developer.mozilla.org/en/docs/XUL_Reference.html về các phần tử giao diện của XUL.

Một phần của tài liệu XÂY DỰNG ỨNG DỤNG EXTENSIONS TRÊN MOZILA FIREFOX (Trang 27 - 31)