2014-01-16 56 views
0

當我執行此代碼:達特聚合物&鏢:JS:的getElementById()返回只[對象的對象]

<!DOCTYPE html> 
    <html> 
    <head> 
     <script language="javascript"> 
     function foobar() { 
      alert(document.getElementById("myPdf")); 
     } 
     </script> 
    </head> 
    <body> 
     <object id="myPdf" type="application/pdf" data="file.pdf"></object> 
     <input type="button" value="Click" onClick="return foobar();"> 
    </body> 
    </html> 

[object] HTMLObjectElement被提醒。

但是用Dart聚合物與dart:js結合做同樣的事情,即通過Dart聚合物將對象元素添加到DOM,並且通過context.callMethod("foobar")執行javascript代碼,僅提醒[object] Object。爲什麼會這樣?在這種情況下如何獲得更具體的HTMLObjectElement?

+0

你想要提醒什麼? –

+0

我僅僅爲這個例子使用了警報。我想要的只是getElementById返回一個HtmlObjectElement。 – melmac

+0

此問題與Dart,Polymer.Dart或dart2js無關,因爲您在此示例中僅編寫Javascript和html。 –

回答

1

我自己找到了解決方案:該對象有一個屬性「impl」,其中存儲了HTMLObjectElement。