В исследовательских целях я пытаюсь написать веб-расширение, которое переопределяет некоторую часть веб-API (например, setItem
, getItem
или removeItem
из Storage
интерфейс).
К сожалению, при попытке выполнить следующее:
index. js
Storage.prototype.setItem = function(a, b) { return 42; }
manifest. json
{
"manifest_version": 2,
"name": "cool-extension-name",
"version": "1.0",
"description": "A useful description.",
"icons": {"48": "icons/potatoes.jpg"},
"content_scripts": [{
"run_at": "document_start",
"matches": ["<all_urls>"],
"js": ["index.js"]
}]
}
Затем, используя web-ext run
, и открыв веб-консоль Firefox после загрузки любой веб-страницы.
$ window.localStorage.setItem(1, 2)
undefined
Я бы надеялся, что она вернет 42
. Что случилось?