我正在使用Chrome擴展程序,我必須通過jQuery點擊javascript中的<input type='file' />
,才能顯示「另存爲」對話框。是的,我被告知 - 大多數瀏覽器不允許你這樣做。不過,我發現了一些很奇怪 - 我的文件輸入元素上單擊(並有保存對話框彈出),如果我通過地址欄做,像這樣:處理非常奇怪的gChrome/Javascript問題
javascript: $("<input type='file' />").appendTo("body").click();
所以,我想如果我可以在那裏做,那麼當然我可以從我的內容腳本中做到這一點...
很明顯,我錯了。從我的內容腳本中運行$("<input type='file' />").appendTo("body").click();
,除了追加元素之外,不僅要執行zilch,還要模擬地址欄,並且還要執行zilch 。
我最初的想法是,這可能是某種內容腳本中的鉻限制,但我錯了 - 通過內容腳本工作的擴展jsShell能夠運行命令並獲得我想要的結果,而無需拴住。
那麼,有沒有人知道爲什麼jsShell &瀏覽器可以點擊文件輸入並獲得一個保存對話框,但我的擴展名不能?我嘗試了將jsShell分開,並嘗試實現它的工作方式(儘管我沒有看到它的工作方式有什麼特別之處),但它仍然無法正常工作。而控制檯沒有透露任何東西 - 沒有錯誤,沒有警告。
這使我的頭部過熱,所以任何幫助都非常感謝!
Similar questions:http://stackoverflow.com/questions/1829774/jquery-simulating-a-click-on-a-input-type-file-doesnt-work-in-firefox和http:// stackoverflow。 com/questions/2769001/input-type-file-auto-click – 2011-03-09 18:27:55