Tôi đang viết một tiện ích mở rộng Firefox cần biết tên người dùng hiện đang đăng nhập là gì trong Windows, Mac hoặc Linux. Vì vậy, nếu tôi đăng nhập vào máy tính của tôi là "brh", nó sẽ trả về "brh". Bất kỳ ý tưởng làm thế nào để làm điều đó từ JavaScript mở rộng?Tìm người dùng hiện đang đăng nhập từ một tiện ích mở rộng Firefox
Trả lời
Tiện ích mở rộng của Firefox phát theo các quy tắc khác nhau đối với JavaScript bình thường đang chạy trong trang: việc tìm người dùng hiện tại là hoàn toàn có thể.
mở Lỗi của bạn Console (trong Tools) và nhập này:
Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USER')
Các biến môi trường Firefox đã bắt đầu với có sẵn thông qua NsIEnvironment XPCOM component đó.
Bạn có thể phải tùy chỉnh điều này cho mỗi nền tảng. Nếu vẫn thất bại, bạn có thể tạo một số NsIFile trong ~
rồi xem số .path
; Tôi không chắc chắn nếu biểu thức vỏ được tôn vinh ở đó, mặc dù ...
Đừng nghĩ rằng điều đó có thể xảy ra, có vẻ như nó sẽ là một lỗ hổng bảo mật nếu như vậy.
Yea, không thể ... Javascript chạy trong môi trường an toàn và tất cả các phần mở rộng FF đều là javascript nên bạn không thể tương tác nhiều với hệ điều hành ... (nó sẽ rất tuyệt ...)
Câu trả lời chính xác được gắn cờ hoạt động tốt. Tôi sử dụng điều này trong phần mở rộng của chúng tôi trên Firefox 38. Tôi cũng sử dụng các sự kiện để trang có thể giao tiếp với phần mở rộng và lấy các thuộc tính windows từ phần mở rộng.
getWindowsProperty: function (prop) { trả về Components.classes ["@ mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get(prop); },
- 1. Đăng nhập vào bảng điều khiển từ tiện ích mở rộng của Firefox?
- 2. Tìm hiểu người dùng hiện đang đăng nhập ở Django
- 3. Mở URL trong tab/cửa sổ hiện tại từ Tiện ích mở rộng của Firefox
- 4. Làm cách nào để bạn đăng nhập vào Firebug từ tiện ích mở rộng?
- 5. XMLHttpRequest trong Tiện ích mở rộng của Firefox
- 6. Nhận URL trang hiện tại từ tiện ích mở rộng thanh bên firefox
- 7. Plugin/Tiện ích mở rộng Firefox cần thiết?
- 8. Tiện ích mở rộng của Firefox với jquery 1.3+
- 9. Làm cách nào để trích xuất luồng người dùng từ tiện ích mở rộng WinDbg?
- 10. Sự khác nhau giữa tiện ích mở rộng Firefox và tiện ích bổ sung Firefox là gì?
- 11. Chuyển đổi Tiện ích mở rộng của Google Chrome sang tiện ích mở rộng của Firefox hoặc Safari
- 12. cách gọi hàm trong tiện ích mở rộng của Firefox từ nút html
- 13. Tiện ích mở rộng PSake?
- 14. Tài nguyên tốt để tìm hiểu cách phát triển Tiện ích mở rộng của Firefox
- 15. Tiện ích mở rộng của Chrome + Devise + Rails App - Đặt yêu cầu được xác thực từ tiện ích mở rộng?
- 16. Đăng nhập vào trang web bằng tiện ích mở rộng chrome và nhận dữ liệu từ trang đó
- 17. Tải tên người dùng Windows trong tiện ích bổ sung Firefox cũ (không phải WebExtensions)
- 18. Làm cách nào để bạn mở rộng các tiện ích giao diện người dùng Kendo
- 19. Phát hiện xem mã có đang chạy dưới dạng Tiện ích mở rộng của Chrome
- 20. Đặt tiêu đề HTTP từ tiện ích mở rộng của Firefox
- 21. Tiện ích mở rộng của Firefox để đóng cửa sổ firefox
- 22. Hủy yêu cầu HTTP GET từ Tiện ích mở rộng của Firefox
- 23. Cách nhận id người dùng hiện đang đăng nhập của người dùng ở Django?
- 24. Tải ImageFormat từ Tiện ích mở rộng Tập tin
- 25. Tiện ích mở rộng Intellisense tùy chỉnh
- 26. Tạo tiện ích đăng nhập OpenID
- 27. Python, tải các thư mục đặc biệt cho người dùng hiện đang đăng nhập
- 28. URL hiện tại trong Tiện ích mở rộng Safari
- 29. Tiện ích mở rộng trình duyệt Android
- 30. Làm mẫu từ tiện ích mở rộng twig
Tuyệt vời! Trong Windows, biến môi trường là USERNAME thay vì USER, bằng cách này - bằng cách thử cả hai, bạn bao gồm tất cả các nền tảng mà bạn muốn. – bhollis
Không có probs. Tôi thực sự đồng ý với David và DFectuoso - nó có vẻ giống như một lỗ hổng bảo mật ... Trên thực tế, các phần mở rộng có cùng các quyền như Firefox - chúng thực sự đáng tin cậy. Thật ngạc nhiên là có rất ít phần mềm độc hại FF! –
Nói về lỗ hổng bảo mật, bạn có thể đặt USERNAME để nó có thể không phải là cách tốt nhất để xác định người dùng - họ có thể sử dụng điều đó để mạo danh người khác? – Rory