Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用loadUrl运行javascript加载不同的页面_Javascript_Android_Webview - Fatal编程技术网

使用loadUrl运行javascript加载不同的页面

使用loadUrl运行javascript加载不同的页面,javascript,android,webview,Javascript,Android,Webview,我们有一个应用程序,它使用oauth表单,只是为了开发目的,我不想输入用户名和密码,所以我添加了一些类似这样的代码,以便在页面完成加载时使用: mWebView.loadUrl("javascript:document.getElementById('UserName').value='" + txtUser.getText()+"'"); 但出于某种原因,它没有填写表单,而是创建了一个新页面,只是写出了txtUser的值,而不是填写输入字段?为什么以及如何解决这个问题?我遇到了类似的问题,由

我们有一个应用程序,它使用oauth表单,只是为了开发目的,我不想输入用户名和密码,所以我添加了一些类似这样的代码,以便在页面完成加载时使用:

mWebView.loadUrl("javascript:document.getElementById('UserName').value='" + txtUser.getText()+"'");

但出于某种原因,它没有填写表单,而是创建了一个新页面,只是写出了txtUser的值,而不是填写输入字段?为什么以及如何解决这个问题?

我遇到了类似的问题,由于找不到合适的解决方案,我使用了以下方法-

  • 获取html源文本
  • 标记替换为
    您的JS代码
  • loadDataWithBaseURL(url,EditeString,“text/html”,“UTF-8”,null)
    很抱歉,这是一个骇人的解决方案,但如果您找不到解决方案,这可能会有所帮助:)

    如果您查看工具look Squirt,它会执行匿名函数调用。因此,我并不精通javascript,但匿名调用似乎是关键,因为浏览器在当前页面进行调用时会看到它。因此,大致尝试一下:


    如果可以,你可以把代码改成我上面选择的答案,不过还是要谢谢你。
    mWebView.loadUrl("javascript:(function(){document.getElementById('UserName').value='" + txtUser.getText()+"';})()");