2012-08-31 51 views
9

我開發了一個移動應用程序(在asp.net中),我使用帶有WebBrowser控件的WinForms應用程序來演示它。對象不支持屬性或方法WebBrowser控件

我我使用一個腳本來隱藏地址欄我的主要頁面:

<script type="text/javascript"> 
    window.addEventListener("load", function() { 
     // Set a timeout... 
     setTimeout(function() { 
      // Hide the address bar! 
      window.scrollTo(0, 1); 
     }, 0); 
    }); 
</script> 

這工作確定了幾臺機器,但今天早上我遇到了一個彈出一個新的機器上加載頁面時:

enter image description here

該機在問題已安裝IE9和我有Disable Script Debugging設置經過。

解決此問題的最佳方法是什麼?我可以在JS中添加一些條件來在IE中運行時不執行嗎?

+1

似乎WebBrowser控件不使用IE9 Tools> Options Settings。因此,即使在IE中選中「禁用腳本調試」,該設置也不會傳播到控件。 我設法通過使用'WebBrowser.ScriptErrorsSuppressed = True'在控件中關閉此功能' –

回答

22

我知道這個問題是從2012年開始的,但有一個答案。

<head>文件,其中腳本添加你需要寫

<meta http-equiv="X-UA-Compatible" content="IE=edge"> 

的WinForms WebBrowser控件的頂部使用Internet Explorer,但你需要給力的最新版本出現。例如。如果您使用的是jQuery 2+,則需要使用IE 9+,因此您至少需要使用版本9或更高版本。

+0

拯救生命!謝謝! – dan

0

Webbrowser控件是Internet Explorer本身的一部分。而Internet Explorer不支持window.addEventListener方法。改用window.attachEvent方法。

所以在您的網頁腳本會讀到這樣

window.attachEvent("load", function() { 
    // Set a timeout... 
    setTimeout(function() { 
     // Hide the address bar! 
     window.scrollTo(0, 1); 
    }, 0); 
}); 

希望這會幫助你!

+0

http://msdn.microsoft.com/en-us/library/ie/ff975245%28v=vs.85%29.aspx會建議IE9支持addEventListener。如果安裝了WebBrowser控件,是否使用IE9? –

1

Webbrowser控件不支持jQuery v2。

使用jquery 1.9.1。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
相關問題