我正在使用 .NET Framework 4.0(带有 WPF)尝试在 WebBrowser 对象 (System.Windows.Controls.WebBrowser) 中加载本地 HTML 文件,同时使用本地嵌入的 javascript 和从远程服务器加载的文件。问题是,javascript(带有 dojo 的 ajax)在加载时并未在 WebBrowser 对象内部执行:
webBrowser.NavigateToString(LoadStringFromFile("map.html"));
但是,当远程加载时,它运行得很好,如下所示:
webBrowser.Navigate("http://www.example.com/map.html");
html文件中的Javascript代码示例摘录:
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6"></script>
<script type="text/javascript">
dojo.require("esri.map");
var map;
var colorRGB = { "white": [255,255,255], "red": [255,0,0], "blue": [0,255,0] };
function init()
{
var streetLayer = new esri.layers.ArcGISTiledMapServiceLayer(
"http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer");
var extent = new esri.geometry.Extent(-140.910, 11.267, -53.019, 64.002);
map = new esri.Map("map", { extent:extent });
map.addLayer(streetLayer);
dojo.connect(map,"onLoad", processLocations);
}
有人知道这有什么问题吗?
我的研究表明它与 IE 和互联网区域有关,但无法证实。
最佳答案
当我将其粘贴到一个 html 文件中并在 Internet Explorer 上打开时,它会显示一条消息,指出它阻止了 activex/script 内容。更改 Internet 选项 > 高级 > 安全 > 允许事件内容在我的电脑上的文件中运行。如果警告在 IE 中消失,那么它应该在 WebBrowser 对象中工作
关于c# - C# WebBrowser 对象中的 HTML/Javascript 文件本地加载未正确加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5775853/