2012-08-03 52 views
21

Tôi muốn biết cách chèn hình ảnh vào tiện ích của Chrome.Chèn hình ảnh vào tiện ích chrome

<img id="image" src="logo.png" /> 

Tôi chèn thẻ html đó vào đúng trang web, nhưng không thể tải hình ảnh logo.png đó một cách tự nhiên.

Bất kỳ ý tưởng nào về cách sửa đổi tệp manifest.json?

+0

là logo.png bạn trong thư mục phải không? – chaohuang

+0

thư mục nào là đúng? đặt nó vào thư mục mở rộng – jacktrades

Trả lời

60

Có hai nguyên nhân có thể gây ra sự cố.

  1. Bạn đang tiêm một hình ảnh có src="logo.png". Phần tử hình ảnh được chèn trở thành một phần của trang, do đó trình duyệt không cố gắng để tải hình ảnh từ tiện ích.
    Để khắc phục sự cố này, hãy sử dụng chrome.extension.getURL('logo.png'); để nhận URL tuyệt đối của tài nguyên.

  2. "manifest_version": 2 được bật trong tệp kê khai. Điều đó vô hiệu hóa tất cả các tài nguyên để sử dụng bên ngoài, theo mặc định. Khi lỗi này xảy ra, được thông báo sau xuất hiện trong giao diện điều khiển:

    Không được phép tải địa phương tài nguyên: chrome: //gbmfhbpbiibnbbgjcoankapcmcgdkkno/logo.png

    Để giải quyết vấn đề, thêm tài nguyên vào một danh sách trắng, cụ thể là "web_accessible_resources" trong file manifest:

    ..., 
        "web_accessible_resources": ["logo.png"] 
    } 
    
+1

Cảm ơn. Tôi tiếp tục nhận được lỗi Không được phép .... Vẫn đang kiểm tra xem tôi có làm gì sai không. – jacktrades

+0

@jacktrades Sau khi danh sách trắng tài nguyên, bạn đã tải lại tiện ích mở rộng một cách chính xác chưa? Bạn đang sử dụng đường dẫn đầy đủ liên quan đến gốc của tiện ích mở rộng? Ví dụ. 'images/logo.png' khi hình ảnh nằm trong thư mục phụ. –

+1

Có, tôi đã tải lại chính xác. logo.png nằm trong thư mục gốc, không phải thư mục con. – jacktrades

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