WPF WebBrowser加载JavaScript

YosiFZ

WebBrowser我的页面中有这个

<WebBrowser HorizontalAlignment="Stretch" Name="Browser"
            VerticalAlignment="Stretch" Grid.Column="1"/>

现在,我加载页面后,我想注入JavaScript代码:

var doc = (HTMLDocument)Browser.Document;
var head = doc.getElementsByTagName("head").Cast<HTMLHeadElement>().First();
var script = (IHTMLScriptElement)doc.createElement("script");
script.text = MYSCRIPTCODE;
head.appendChild((IHTMLDOMNode)script);

MYSCRIPTCODE我有这个功能:

function checkSomething() {

    try{
           var xhr = new XMLHttpRequest();
           var url = 'weburl';
           xhr.open("GET", url, true);
           xhr.onreadystatechange = function () {
           //Somecode
           }

           xhr.send();
    } catch {

    }
}

我用它运行:

Browser.InvokeScript("checkSomething");

它是完美的工作,并且可以毫无问题地运行脚本。

我有另一种状态,我将本地html文件加载到浏览器中:

Uri uri = new Uri(AppDomain.CurrentDomain.BaseDirectory + @"OfflinePage.html");
Browser.Navigate(uri);

当我想使用它运行时:

Browser.InvokeScript("checkSomething");

脚本中的此行获取异常-权限被拒绝:

xhr.open("GET", url, true);

知道为什么会发生吗?为什么它可以在我从Web加载的页面中工作而不能在本地html中工作?

鼻塞

您的初始页面OfflinePage.html来自本地文件系统,而您的XHR URL是一个网址。WebBrowser禁止将此作为跨域安全限制。您可以使用XDomainRequest解决问题,但是Web服务器应通过Access-Control-Allow-Origin: *在响应中包含HTTP标头来明确同意跨域请求有关HTTP访问控制(CORS)的更多信息,请参见此处

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF WebBrowser加载JavaScript

来自分类Dev

WPF Webbrowser使用JavaScript加载HTML

来自分类Dev

JavaScript 代码在 WPF WebBrowser 加载的 HTML 页面中不起作用

来自分类Dev

JavaScript 代码在 WPF WebBrowser 加载的 HTML 页面中不起作用

来自分类Dev

WPF Webbrowser仍在加载图像的同时导航到byte []

来自分类Dev

WPF WebBrowser刷新

来自分类Dev

获取WPF WebBrowser HTML

来自分类Dev

WPF与Windows WebBrowser控件

来自分类Dev

如何将内联样式注入正在WPF WebBrowser中加载的文档中?

来自分类Dev

如何将内联样式注入正在WPF WebBrowser中加载的文档中?

来自分类Dev

如何在没有安全消息的情况下通过 WPF WebBrowser 加载 HTML

来自分类Dev

如何从WPF WebBrowser获取HtmlElementCollection

来自分类Dev

在WPF WebBrowser中显示PDF

来自分类Dev

WPF Webbrowser控件禁用放置

来自分类Dev

WPF Webbrowser 无法显示 Angular

来自分类Dev

WPF资源无法加载?

来自分类Dev

WPF如何加载gif?

来自分类Dev

C#WPF WebBrowser-如何将数组传递给javascript函数

来自分类Dev

WPF Webbrowser Control 添加了 JavaScript 代码,不支持 Object.freeze 功能

来自分类Dev

如何在 WPF 上的 WebBrowser 中从 javascript 调用客户端代码?

来自分类Dev

在WPF WebBrowser中允许弹出窗口

来自分类Dev

如何清除WPF中的WebBrowser控件

来自分类Dev

WPF WebBrowser控件-未触发“导航”事件

来自分类Dev

如何访问WPF WebBrowser组件的ScrollViewer

来自分类Dev

WPF Webbrowser控件未应用CSS

来自分类Dev

在WPF WebBrowser中检测URL更改

来自分类Dev

关闭在WPF WebBrowser中运行的网页

来自分类Dev

身份验证 WPF 和 WebBrowser

来自分类Dev

WPF动画加载“点”的进度

Related 相关文章

热门标签

归档