2012-08-31 32 views
9

Tôi đã phát triển một ứng dụng di động (trong asp.net) và tôi đang sử dụng một ứng dụng WinForms với điều khiển WebBrowser để giới thiệu nó.Đối tượng không hỗ trợ thuộc tính hoặc phương thức WebBrowser Control

tôi trang chính của tôi Tôi đang sử dụng một kịch bản để ẩn thanh địa chỉ:

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

này đã làm việc ok một số máy nhưng sáng nay trên một máy mới tôi gặp phải một popup khi tải trang:

enter image description here

Máy đang được hỏi đã cài đặt IE9 và tôi đã cài đặt Disable Script Debugging.

Cách tốt nhất để giải quyết vấn đề này là gì. Tôi có thể thêm một số điều kiện trong JS để không thực thi khi chạy trong IE không?

+1

Dường như các công cụ IE9> Cài đặt tùy chọn không được kiểm soát WebBrowser sử dụng. Vì vậy, mặc dù 'Disable Script Debugging' được chọn trong IE, cài đặt này không được truyền đến điều khiển. Tôi đã quản lý để tắt tính năng này trong điều khiển bằng cách sử dụng 'WebBrowser.ScriptErrorsSuppressed = True' –

Trả lời

22

Tôi biết rằng vấn đề này là từ năm 2012 nhưng có một câu trả lời cho nó.

Ở phía trên cùng của tài liệu <head> nơi kịch bản được thêm bạn cần phải viết

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

WinForms điều khiển WebBrowser đang sử dụng Internet Explorer nhưng bạn cần phải buộc các phiên bản mới nhất đó. Ví dụ: nếu bạn đang sử dụng jQuery 2+ nó yêu cầu IE 9+ vì vậy bạn cần phải sử dụng ít nhất là phiên bản 9 hoặc mới hơn.

+0

trình tiết kiệm cuộc sống! cảm ơn! – dan

0

Điều khiển Webbrowser là một phần của Internet Explorer. Và Internet Explorer không hỗ trợ phương thức window.addEventListener. Sử dụng phương pháp window.attachEvent để thay thế.

Vì vậy, kịch bản trong trang của bạn sẽ đọc như

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

Hy vọng điều này sẽ giúp bạn!

+0

http://msdn.microsoft.com/en-us/library/ie/ff975245%28v=vs.85%29.aspx sẽ gợi ý rằng IE9 không hỗ trợ addEventListener. Điều khiển WebBrowser có sử dụng IE9 nếu nó được cài đặt không? –

1

Điều khiển trình duyệt web không hỗ trợ jquery v2.

Sử dụng jquery 1.9.1.

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
Các vấn đề liên quan