這是關於this question的後續問題。簡短的版本是:我試圖插入一個愚蠢的鏈接(關閉投票作爲dupe在堆棧溢出)到使用javascript(Chrome擴展)的密切投票彈出文本框中。前面的答案讓我更進一步,似乎是解決方案。然而,在這個問題上的答案在控制檯中工作,但由於某種原因在我的Chrome擴展中不起作用。Javascript正在控制檯中工作,但不在內容中
問題是:當打開投票關閉在堆棧溢出這裏關閉彈出一個問題,然後單擊重複原因。我可以在控制檯中運行以下代碼:
var $dupeQuestion = $('#duplicate-question');
$dupeQuestion.val('https://stackoverflow.com/questions/8028957/headers-already-sent-by-php');
var e = $.Event('keydown', { keyCode: 64 });
$dupeQuestion.trigger(e);
而且正如已經提到的那樣工作。該鏈接被插入到文本框中,Stack Overflow JS開始檢索問題。然而,當我嘗試在我的延長運行完全相同的代碼只還挺工作:
$(document).on('click', '.cvhelper-dupelist li', function() {
var $dupeQuestion = $('#duplicate-question');
$dupeQuestion.val('https://stackoverflow.com/questions/8028957/headers-already-sent-by-php');
var e = $.Event('keydown', { keyCode: 64 });
$dupeQuestion.trigger(e);
});
有點兒工作方式:鏈接插入文本框,但堆棧溢出腳本來檢索的問題不踢所以我完全無能爲力,可能是錯的。當使用控制檯vs contentscript時,在某處可能有區別?還要別的嗎?
我創建了a download,它帶有一個非常簡化的github擴展版本。
也許你正在覆蓋stackoverflows的JavaScript,嘗試使用setTimeout進行測試,因爲控制檯腳本在絕緣區域執行,我想。 – Tearsdontfalls
重要的是'console'-run腳本在問題中是否都是一行?它使得它難以閱讀和比較。另外,我不知道你可以在'document'中使用'.on()'。不是說你不能,只是不知道你能。 –
是的,你也可以嘗試用$(document).ready(function(){$('。cvhelpeler-dupelist li')替換它。click(function(){});} – Tearsdontfalls