解决方案:
当设计模式设置为"on“时,Javascript不会在webbrowser控件中执行,在我的示例中是:
document = webbrowser.Document as HTMLDocument;
document.designMode = "On";
designmode属性停止了执行javascript的webbrowser控件,因此我将其更改为:
document.body.setAttribute("contentEditable", "true");
现在已经执行了javascripts,并且仍然可以编辑document,所以这个简单的更改为我解决了问题。谢谢你的回复
原始问题:
我正在尝试用WebBrowser控件实现C#图形用户界面。在我称之为本地存储的HTML文件的Webbrowser中,文件总是存储在C:或D:上,它们不是在共享文件夹或类似的东西上。到目前为止一切都很好。
现在,我尝试将一些JavaScript添加到html中,其中包含一些基本的函数来编辑html表(Add,add等)。但是Javascript不是在webbrowser控件中执行的。我试着用IE打开文件,并被提示输入ActiveX内容,我告诉IE“允许阻止内容”,一切都很好。(我在webbrowser控件中没有得到提示。)现在的问题是:在way浏览器控件中“始终启用”任何类型的脚本,还是像IE那样以相同的方式提示?
当然,我搜索了Web和Stackoverflow,并找到了几种解决方案:
<!-- saved from url=(0014)about:internet -->
或
<!-- saved from url=(0023)http://www.contoso.com/ -->
execCommand("enableInlineTableEditing", true);
)无法工作,因为IE不支持此命令。所以如果你读到现在,我不得不说谢谢你。如果您知道如何可靠地激活webbrowser控件中的JavaScripts或如何编辑webbrowser控件中的html表,我会非常高兴的:)
顺便说一句:我使用的是.NET 4.5,我测试了所有的解决方案和两台不同用户的个人电脑。最后,我为我的英语感到抱歉,希望大家都能理解。
编辑:基本示例,它在IE中运行良好(甚至没有提示),但它在webbrowser-control中没有执行任何类型的JS:
<!doctype html>
<!-- saved from url=(0023)http://www.contoso.com/ -->
<html>
<head>
<title>A Mark of the Web Example test</title>
</head>
<body>
<p>Hello, World</p>
<script language="JavaScript">
document.write ("Hello Javascript");
</script>
<p>
alert test
</p>
<script language="JavaScript">
alert("test");
</script>
</body>
</html>
发布于 2015-09-21 09:21:35
当设计模式设置为"on“时,Javascript不会在webbrowser控件中执行,在我的示例中是:
document = webbrowser.Document as HTMLDocument;
document.designMode = "On";
designmode属性停止了执行javascript的webbrowser控件,因此我将其更改为:
document.body.setAttribute("contentEditable", "true");
现在已经执行了javascripts,并且仍然可以编辑document,所以这个简单的更改为我解决了问题。谢谢你的回复
https://stackoverflow.com/questions/32649795
复制相似问题