2015-01-21 23 views
1

編譯下面的代碼與dart2js -o test.js test.dart爲什麼將dart2js的輸出複製並粘貼到控制檯不起作用?

開放test.js,複製其內容

打開瀏覽器,進入stackoverflow.com

開放的開發工具,去安慰標籤

test.js的內容輸入控制檯,打到輸入

我希望它點擊th e「詢問問題」按鈕,但它不,爲什麼?

(我想這樣做的原因是,我需要一些JS,但我不想碰爵士。)

// test.dart 
import 'dart:html'; 
void main() { 
    document.querySelector('#nav-askquestion').click(); 
} 

回答

1

我沒有挖得很深,但我有印象生成的代碼爲腳本加載事件註冊自身,然後執行「main」作爲事件處理程序。我不知道JavaScript和瀏覽器的行爲是否足夠理解這可以如何工作。

我得到它通過在開發者控制檯

(function runTest() { 
    var s = document.createElement("script"); 
    s.type = "text/javascript"; 
    s.src = "test.js"; 
    document.body.appendChild(s);} 
)(); 

其中test.js文件(從產生輸出dart2js)處於同一目錄中index.html運行此代碼的工作。

該代碼會動態添加引用dart2js輸出的腳本標記,並執行test.js中的代碼。