我有一个 Silverlight 浏览器外 (OOB) 应用程序,其中有一个 WebBrowser 控件。内部网络浏览器中显示的网站来自与应用程序 xap 文件不同的域。如何自动填写内部浏览器中显示的表单?最好直接使用 Silverlight 或 JavaScript。
我试图从 silverlight 应用程序调用外部 JavaScript 代码:
webBrowser.InvokeScript ("eval", "document.getElementById('formField1').value = 'value1';" +
"document.getElementById('formField2').value = 'value2';"+
"document.forms[0].submit();");
显然,由于安全原因,Silverlight 限制了此功能(我认为是跨站点脚本)。
执行在当前加载的 HTML 中定义的指定脚本。
由于我的 JS 代码没有加载到当前显示在 Web 浏览器控件中的 HTML 中,因此我不能使用这种方法。
最明显的解决方案是修改目标网站以包含我的 JS 代码。但我想听听其他一些选择。