2011-06-16 40 views
38

Tôi đang viết một tiện ích mở rộng của Chrome, tôi cần lấy id của tiện ích mở rộng trong mã của mình, vì vậy tôi không cần phải thay đổi nó theo cách thủ công mỗi lần. Tôi có thể làm cái này như thế nào?Làm cách nào để lấy id của tiện ích mở rộng của tôi từ JavaScript?

+0

Tôi không tin rằng những thay đổi id của phần mở rộng sau khi cài đặt? Ngay cả khi cài đặt nó "giải nén" cho mục đích dev, nó giữ id tương tự, trừ khi bạn gỡ bỏ cài đặt và cài đặt lại, không? – WesleyJohnson

+0

Khi tôi phát triển nó, tôi có id1, khi tôi xuất bản nó, tôi có id2, chúng khác nhau .. – wong2

+2

Tại sao bạn cần lấy ID? –

Trả lời

61

Bạn có thể nhận được nó như thế này (không có quyền yêu cầu thêm) theo hai cách khác nhau:

  1. Sử dụng api runtime: var myid = chrome.runtime.id;

  2. Sử dụng i18n api: var myid = chrome.i18n.getMessage("@@extension_id");

nhưng bạn không cần nó để mở trang, như chrome.tabs.create() (và một số khác) hiểu đường dẫn tương đối.

Vì vậy, để mở index.html từ thư mục mở rộng của bạn, bạn chỉ nên sử dụng:

chrome.tabs.create({url: "index.html"}); 
+0

Nơi bạn đã học về' chrome.i18n.getMessage ("@@ extension_id"); '?!? :) –

+1

@JohnS Xem http://code.google.com/chrome/extensions/dev/i18n.html#overview-predefined – serg

+2

Oh cảm ơn! Tôi nghĩ tôi nên RTFM !! :) –

9

Nếu bạn đang làm công cụ với nội địa hóa, có vẻ như các cơ chế mở rộng cung cấp một số placeholders để truy cập ID tiện ích của bạn:

Nếu bạn chỉ cố gắng để truy cập vào các URL cho các tập tin địa phương để mở rộng của bạn, bạn có thể chỉ cần sử dụng chrome.extension.getURL("some file name");

Nếu bạn có lý do khác thực sự cần biết id của tiện ích mở rộng, tôi không chắc chắn có cách chuyển tiếp thẳng từ chính tiện ích đó. Hai cách đến đầu tôi bằng cách sử dụng chrome.extension.getURL("some file name") và sau đó phân tích cú pháp id tiện ích mở rộng từ URL trả về đó hoặc sử dụng chrome.management.getAll() và lặp qua tất cả các tiện ích mở rộng đã cài đặt cho đến khi bạn tìm thấy kết quả phù hợp trên name và sau đó truy cập các id:

Các vấn đề liên quan