繁体   English   中英

Windows Phone 8的javascript用户名密码https登录问题

[英]javascript username password https login issue for windows phone 8

我是来自IOS和Android的新手,并尝试在这些应用程序中复制功能,在这些应用程序中,我使用保存在首选项(隔离存储)中的用户名和密码并将其注入到https网页的javascript中。 之前我问过的一个问题开始,我现在才知道我不能使用System.Windows.Forms,因为它是针对W8Desktop的,并且我的目标是Windows Phone 8。

在android中,我执行了以下操作:

view.loadUrl(“javascript:document.getElementById(‘Login1_UserName’).value=’”+userName+”‘;javascript:document.getElementById(‘Login1_Password’).value = ‘”+password+”‘;”);
view.loadUrl(“javascript:document.getElementById(‘Login1_LoginButton’).click();”);

我正在尝试在Visual Studio 2012中执行此操作,但无法正常工作。 这是我的代码:

Browser.Navigate(new Uri(mainUrl, UriKind.Absolute));

Browser.InvokeScript(“eval”, new string[] { “document.getElementById(‘Login1_UserName’).value = ‘”+username+”‘ , document.getElementById(‘Login1_Password’).value = ‘”+password+”‘;”});
Browser.InvokeScript(“eval”, new string[] { “document.getElementById(‘Login1_LoginButton’).click();”});

但这只是行不通的。 所以我的问题是两个:

  1. 如果我想创建一个小脚本(假定为eval),是否将资源文件添加到项目中,或将其作为代码块添加到mainpage.xaml.cs中? 如果可以,怎么办?
  2. 如果我按上述方式进行操作,语法是否存在问题?

非常感谢您可以提供帮助的任何指示。

我现在有一个解决方案,但仍然需要知道如何实现。

这是将javascript注入表单的正确代码。

 browser.InvokeScript("eval", "document.getElementById('Login1_UserName').value = '" + username + "';");
 browser.InvokeScript("eval", ("document.getElementById('Login1_Password').value = '" + password + "';"));
 browser.InvokeScript("eval", string.Format("document.getElementById('Login1_LoginButton').click();"));

我遇到的问题是,在运行脚本之前,我不允许页面完成加载。 我已经尝试了一些方法,但没有尝试过,因此一旦解决,我将继续进行挖掘和编辑。

希望这对其他人有帮助。

请记住,您不能使用在某些解决方案中看到的browser.document,因为它将无法在Windows Phone上使用。 我是新手,很高兴得到纠正,但是那条路花了我太多时间。 您需要将Invokescript用于Windows Phone代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM