0
是否可以在Firefox窗口的特定選項卡上使用文本輸入處理器?獲取標籤的nsIDOMWindow以進行文本輸入
是否所有選項卡共享相同的nsIDOMWindow對象?如果是這樣,那麼還有其他解決方案嗎?
改寫我的問題:我想輸入文本到一個特定的選項卡,如果有多個,那麼它可能不是當前。
下面是一個例子代碼編寫任何Firefox窗口上的文本,但僅限於當前標籤:
function myTestFunc() {
// var windows = Services.wm.getEnumerator("navigation:browser");
var windows = require("sdk/windows");
for (let browserWindow of windows.browserWindows) {
//console.log(window.title);
var chromeWindow = viewFor(browserWindow);
console.log(chromeWindow.document.location.href);
var idomWindow = chromeWindow.QueryInterface(Ci.nsIDOMWindow);
var TIP = Cc["@mozilla.org/text-input-processor;1"].
createInstance(Ci.nsITextInputProcessor);
if(!TIP.beginInputTransaction(idomWindow, onNotifyImpl)) {
console.log("Error TIP can't start");
continue;
}
TIP.setPendingCompositionString("foo-bar-buzz");
if (!TIP.flushPendingComposition()) {
console.log("Failed to flush");
continue; // Composition is not started
}
}
}
請問您是否可以詳細說明如何從''XUL元素獲取?不幸的是對於我的用例,framescripts不是一個選項。 –
alandarev
我不打算支持創建會破壞e10s兼容性的插件。相反,你應該解釋爲什麼你認爲你不能使用framescripts。 – the8472
這一切都從這裏開始:http://stackoverflow.com/questions/11456705/are-events-generated-by-firefox-extension-trusted/11461469#comment58574373_11461469我需要生成具有'isTrusted = true'的鍵盤事件屬性。 – alandarev