導航:首頁 > 源碼編譯 > webviewloadurl源碼

webviewloadurl源碼

發布時間:2023-03-01 11:53:56

A. android webview中的loadUrl方法是get請求還是post

get請求,因為查詢api可以看到有個postUrl方法。查看源碼可以確定

B. Android 在WebView中通過javascript獲取網頁源碼,並在TextView或者在EditText中顯示問題

webview js之間的交互,項目中馬上用到。

JS調用java代碼效果圖


index.html代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd";><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" language="javascript"> var share = JSON.stringify({"title": "sinodata",
"desc": "ios",
"shareUrl": "http://www.sinodata.com.cn"
});

function sendInfoToJava(){
window.AndroidWebView.showInfoFromJs(share);
}

<!--在android代碼中調用此方法-->
function showInfoFromJava(msg){
alert("showInfoFromJava:"+msg);
} </script></head><body la><div id='b'> <input onclick="sendInfoToJava()" type="button" value="sendInfoToJava"/></div></body></html>
布局代碼:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.chenjifang.webview.MainActivity"> <Button android:id="@+id/test_btn" android:text="代碼中調用web js代碼傳遞參數" android:layout_width="match_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/test_edt" android:layout_width="match_parent" android:layout_height="wrap_content" /><WebView android:id="@+id/test_webview" android:layout_width="match_parent" android:layout_height="400dp"></WebView></LinearLayout>
java代碼:

public class MainActivity extends AppCompatActivity {private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.test_webview); //設置WebView支持JavaScript mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("file:///android_asset/index.html"); mWebView.addJavascriptInterface(new JsInterface(this), "AndroidWebView"); //添加客戶端支持 mWebView.setWebChromeClient(new WebChromeClient()); findViewById(R.id.test_btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
sendInfoToJs(); }
}); } private class JsInterface { private Context mContext; public JsInterface(Context context) { this.mContext = context; } //在js中調用window.AndroidWebView.showInfoFromJs(name),便會觸發此方法。 @JavascriptInterface public void showInfoFromJs(String share) {
Toast.makeText(mContext, share, Toast.LENGTH_SHORT).show(); }
} //在java中調用js代碼 public void sendInfoToJs() {
String msg = ((EditText)findViewById(R.id.test_edt)).getText().toString(); //調用js中的函數:showInfoFromJava(msg) mWebView.loadUrl("javascript:showInfoFromJava('" + msg + "')"); }
總結下,java代碼中要設置webview對javascript的支持,addJavascriptInterface(new JsInterface(this), "AndroidWebView");//這句代碼中的第二個參數是在js訪問方法的地址。
window.AndroidWebView.showInfoFromJs(share);

C. android 誰用WebView能打開百度新聞的網頁貼出代碼來看看!

web1=(WebView) findViewById(R.id.webview);
web1.getSettings().setJavaScriptEnabled(true);
web1.getSettings().setLoadWithOverviewMode(true);
web1.getSettings().setAllowFileAccess(true);
web1.getSettings().setDomStorageEnabled(true);
主要是下面這兩條一定要加進去並且設置為true
估計是網路一些板塊需要訪問本地文件,所以默認不讓訪問,就空白了。

D. android webview載入某個網頁,之後通過這個網頁調到了另一個頁面,怎麼獲取這個頁面的網址和源碼

mWebView.setWebViewClient(new WebViewClient(){
// 這個方法在用戶試圖點開頁面上的某個鏈接時被調用
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url!=null) {
// 如果想繼續載入目標頁面則調用下面的語句
// view.loadUrl(url);
// 如果不想那url就是目標網址,如果想獲取目標網頁的內容那你可以用HTTP的API把網頁扒下來。
}
// 返回true表示停留在本WebView(不跳轉到系統的瀏覽器)
return true;
}
});

閱讀全文

與webviewloadurl源碼相關的資料

熱點內容
桌面雲伺服器組建配置 瀏覽:923
濟寧織夢源碼怎麼跳轉到qq 瀏覽:290
西安java培訓 瀏覽:298
蘋果用戶app如何退款 瀏覽:889
解壓方式就是喝酒 瀏覽:396
麥塊怎麼添加到游戲伺服器 瀏覽:962
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143