簡體   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