→ ssccg: post當然是可以post,你有需要的資料直接post就好 11/26 09:25
→ ssccg: 不管是jsp、php、asp,對client都只是單純的http post 11/26 09:26
→ ssccg: 問題在post需要的資料,可能不止form上面的,例如cookie 11/26 09:27
→ ssccg: javascript執行後多出的內容...etc 11/26 09:30
感謝ss大!!
所以我POST資料缺少,會不符原本網頁POST的預期,就執行不出來
那 原網頁+我的資料 再用原網頁POST(理論上資料就完整了) 目前有這樣的方法嗎?
不過這樣等於改了原網頁...好像不可能?
可是要補資料(主要是補 option seleted的選項)再送出...沒有其他方法了嗎@@"
※ 編輯: khastw (223.140.52.126), 11/26/2015 10:42:58
→ ssccg: 要單純一點就用webview或其他browser-like的library,在上 11/26 10:48
→ ssccg: 面執行javascript改值就可以 11/26 10:48
我是用WebView,可是webview所謂執行javascript好像是指執行原網頁已有的javascript
有辦法是在原網頁執行我自己寫的javascript嗎?
※ 編輯: khastw (223.140.52.126), 11/26/2015 10:53:57
→ ssccg: loadUrl/evaluteJavascript就是在webview現在開啟的網頁環 11/26 11:07
→ ssccg: 境中執行任意javascript 11/26 11:07
final WebView myWebView = (WebView) findViewById(R.id.wv1);
WebSettings settings = myWebView.getSettings();
settings.setJavaScriptEnabled(true);
myWebView.loadUrl("file:///android_asset/js_java_interaction.html");
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
myWebView.loadUrl("javascript:
{document.getElementsByName('username')[0].value ='BBBBB';};");
}
});
那行loadUrl的javascript確實能執行在webview顯示"BBBBB"
可是就把之前loadUrl html的部分全部洗掉了(就是變成都是空白,只剩下BBBBB)
但是照理說應該是只有改掉username的值
其他應該照樣顯示才對....吧?
stackoverflow關於webview用javascript改value都是差不多的寫法...
可是卻沒人有同樣的問題??是我搜尋錯關鍵字嗎?
======================================================================
有解決了!!!我把loadUrl設定成
myWebView.loadUrl(
"javascript: {var aa = document.getElementsByName('username')[0];" +
"aa.value = 5" +
"};");
就可以了!!!!!!!
※ 編輯: khastw (114.136.12.224), 11/26/2015 14:34:47
※ 編輯: khastw (114.136.12.224), 11/26/2015 15:00:06
※ 編輯: khastw (114.136.12.224), 11/26/2015 15:13:43
※ 編輯: khastw (114.136.12.224), 11/26/2015 15:15:42