簡體   English   中英

.NET 4.0 Web瀏覽器控件和msIsSiteMode JavaScript錯誤

[英].NET 4.0 Web browser control and msIsSiteMode javascript error

我有一個連接到www.Jango.com並使用網絡瀏覽器控件的應用程序。 但是,當使用.NET瀏覽器控件時,我不斷收到“無法獲取屬性'msIsSideMode'的值:對象為null或未定義”的腳本錯誤,因此該站點的其余部分未加載。

可以通過創建一個簡單的Windows窗體應用程序,添加一個webbrowser控件並導航到jango.com來復制此內容。

據我所知,Web瀏覽器控件根據您計算機上安裝的IE版本呈現網站。 在我的機器上,我安裝了IE9。 方法msIsSiteMode似乎是一種IE方法,可以告訴天氣當前頁面是作為固定站點啟動的。 由於jango.com完全基於JavaScript,因此該null值將導致網站停止正常運行。 但是,在Internet Explorer中導航到jango.com可以正常工作,並且不會產生任何錯誤。

有誰知道解決此問題的方法,例如讓我的應用程序設置值? 使Web瀏覽器控件呈現為其他版本。 根本沒有任何建議,除了改變我機器上IE的版本外,我無所不包,因為這不是一個選擇。

在WebBrowser控件上將ScriptErrorsSuppressed屬性設置為True。

在此處輸入圖片說明

編輯:另一種選擇

在承載Web用戶控件的表單上嘗試以下操作:

using System.Runtime.InteropServices;
using System.Security.Permissions;

[ComVisibleAttribute(true)]
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        webBrowser1.ObjectForScripting = this;

    }
...
}

在這里閱讀更多詳細信息。

我在計算機上安裝了IE9的WebBrower控件中看到了類似的問題。 就我而言,我有兩個帶有WebBrowser控件的Windows窗體。 其中一個用於從另一個加載彈出窗口。我在彈出一個窗口時遇到腳本錯誤。僅在IE9中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM