Я пытаюсь загрузить страницу, а затем запустить на ней код javascript, я нашел скрипт Greasemonkey, который делает то же самое, но у меня возникают проблемы с реализацией той же вещи в Android, возможно, потому что я ничего не знаю о JavaScript.
Это скрипт Greasemonkey; предполагается дать новую ссылку:
window.addEventListener("load", function ()
{
var link = document.evaluate("//div[@class='dl_startlink']/div/a[contains(@href,'"+window.location.href.match(/\?(.*)$/)[1]+"')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
if( !link.snapshotLength )
return;
location.href = link.snapshotItem(0).href;
}, false);
и вот как я хочу его запустить:
public void onPageFinished (WebView view, String url) {
System.out.println("webview loaded");
webView.loadUrl("javascript:/*...........Javascript code here........*/");
}
Есть идеи, как получить эту ссылку и загрузить эту страницу в веб-просмотр?
РЕДАКТИРОВАТЬ: Другая версия делает то же самое.
var candidates = document.evaluate("//*[@class = 'dl_startlink']/div", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
if( !candidates.snapshotLength )
return;
//The DIV with the highest zIndex has the *real* link; the rest are useless.
- var maxDiv = candidates.snapshotItem(0);
- for( var i = 1; i < candidates.snapshotLength; i++ )
- if( maxDiv.style.zIndex < candidates.snapshotItem(i).style.zIndex )
- maxDiv = candidates.snapshotItem(i);
- location.href = maxDiv.children[0].href;