⑴ 如何關掉webview中select彈出的對話框
如何關掉webview中select彈出的對話框
webview載入了一個頁面,頁面里點某一個button時候彈出一個確認對話框,這個對話框怎麼也不顯示如果直接用系統自帶的瀏覽器是可以彈出來的! 記得要 final WebSettings settings = mWebView.getSettings(); settings.setJavaScriptEnabled(true)...
如何設置WebView支持js的Alert,Confirm,Prompt函數的彈出提示框
彈出提示框一般有3種
1)alert (普通提示框)
2)prompt (可輸入的提示框)
3)confirm (可選擇的提示框)
⑵ 怎麼讓webbrowser彈出窗口提示框
我的處理方法:
剛開始,我使用了這樣的思路:針對所有可能出現的情況,找個各個不同方法來處理。
比如說,對於<a herf=』』的這種情況,就用wb_Container.StatusText方法,但是要加入一個判斷。If(wb_Container.StatusText!=」」)。對於window.open和RegisterStartupScript的,可以通過替換js來實現。
本來的window.open函數,在程序完成載入之後,我把這個函數修改成window.external.open,
然後,我把我的AppBrowser類裡面加入幾個public的Open函數來對應原來的js的open函數就可以了。
這是一個代碼實現。
private void wb_Container_DocumentCompleted(object sender, e)
{
//for windows.open
if (wb_Container.DocumentText.IndexOf("window.open(") > -1 || wb_Container.DocumentText.IndexOf("window.close()") > -1)
{
wb_Container.DocumentText = wb_Container.DocumentText.Replace("window.open(", "window.external.open(").Replace("window.close()","window.external.close()");
}
}
⑶ Web前端如何實現網頁彈框功能
可以使用"layer.js"等插件實現。
使用插件可以直接調用方法,實現網頁彈框。如果要求不高,也可以直接使用alert方法直接彈出提示框。
⑷ java web彈出一個提示框的問題
直接 把 return 去掉就行了 。 一般原因是 return 引起的,我試了下 ,成功。
就怕選擇 取消的時候 動作依然會執行、、、 很久沒寫 web了 ,生疏了,你自己去查查看會不會有影響。
⑸ JAVA WEB程序,前台彈出框問題
可以用ExtJs
// 進度條閉岩
var wait = function() {
var t;
var config = {
title : '請等待',
// msg : '安裝',
// progressText : '正在初始化...',
width : 300,
progress : true, // 此屬性證明這慶鋒是一個進度條
closable : false,
buttons : Ext.MessageBox.CANCEL,// 只有取消按鈕
fn : function(btn) {
Ext.MessageBox.hide();// 關閉窗體
Ext.MessageBox.alert('title', 'end');
}
};
Ext.MessageBox.show(config);
var go = function(i) {
return function() {
if (i == 100) {
Ext.MessageBox.hide();// 結束消息框
Ext.MessageBox.alert('操作', '全部執行完畢');
} else {
var v = i / 100;
Ext.MessageBox.updateProgress(v, Math.round(v * 100) + '%ok',
'正在安裝..');
}
};
};
for (var i = 1; i <= 100; i++) {
t = setTimeout(go(i), i * 80);
};
};
去網上下中文幫助文檔,進度條屬於消息框的。
只要你提交請求到後台,就出發這個JS,用到的ajax,ejs也能很輕松實譽態晌現,看看文檔就會了。
⑹ 請教:在c#(做web的)中怎麼彈出對話框
有兩種做法,
1。在客戶端直接利用Javascript的alert。彈出的內容,要麼是客戶端的,要麼通過ajar,或者回調。先獲得服務端的數據,再判斷而調用alert.
2。在服務端,注冊客戶端的javascrpt段。用ClientScript.RegisterClientScriptBlock函數,動態注冊到客戶端Javascript。讓客戶端做事alert。
⑺ web前端的彈出提示欄咋寫
js有三種彈出框
alert()--警告消息框
alert 方法有一個參數,即希望對用戶顯示的文本字元串。該字元串不是 HTML 格式。該消息框提供了一個「確定」按鈕讓用戶關閉該消息框,並且該消息框是模式對話框,也就是說,用戶必須先關閉該消息框然後才能繼續進行操作。例如:window.alert("歡迎!請按「確定」繼續。")
confirm()--確認消息框
使用確認消息框可向用戶問一個「是-或-否」問題,並且用戶可以選擇單擊「確定」按鈕或者單擊「取消」按鈕。confirm 方法的返回值為 true 或 false。該消息框也是模式對話框:用戶必須在響應該對話框(單擊一個按鈕)將其關閉後,才能進行下一步操作。
例如: var truthBeTold = window.confirm("單擊「確定」繼續。單擊「取消」停止。")
prompt()--提示消息框
提示消息框提供了一個文本欄位,用戶可以在此欄位輸入一個答案來響應您的提示。該消息框有一個「確定」按鈕和一個「取消」按鈕。如果您提供了一個輔助字元串參數,則提示消息框將在文本欄位顯示該輔助字元串作為默認響應。否則,默認文本為 "<undefined>"。 與alert( ) 和 confirm( ) 方法類似,prompt 方法也將顯示一個模式消息框。用戶在繼續操作之前必須先關閉該消息框 。
例如:var theResponse = window.prompt("歡迎?","請在此輸入您的姓名。");
⑻ C#web彈出提示框的幾種方法
/// 顯示「確定」點擊以後就轉到預設網址的提示框/// /// 提示信息 /// 「確定」以後要轉到預設網址 /// 提示框JS public void MsgBox(string strMsg, string URL){ string StrScript; System.Web.HttpContext.Current.Response.Write(StrScript);}#endregion調用一下試試:MsgBox(此新聞類別沒有對應的新聞,系統將自動返回首頁。, default2.aspx);
⑼ 如何設置WebView支持js的Alert,Confirm,Prompt函數的彈出提示框
默認情況下,Android WebView是不支持js的Alert(),Confirm(),Prompt()函數的彈出提示框的.即使設置了setJavaScriptEnabled(true);也是沒用的.那麼,如何才能讓WebView可以支持js的這3個函數呢.可以通過設置WebChromeClient對象來完成.WebChromeClient主要輔助WebView處理Javascript的對話框、網站圖標、網站title、載入進度等等.
這里主要重寫WebChromeClient的3個方法:
onJsAlert :警告框(WebView上alert無效,需要定製WebChromeClient處理彈出)
onJsPrompt : 提示框.
onJsConfirm : 確定框.
效果圖分別為:
1.Alert
2.Prompt
3.Confirm
先來看看js的頁面代碼:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
function call(){
var value = document.getElementById("input").value;
alert(value);
}
//警告
function onAlert(){
alert("This is a alert sample from html");
}
//確定
function onConfirm(){
var b = confirm("are you sure to login?");
alert("your choice is "+b);
}
//提示
function onPrompt(){
var b = prompt("please input your password","aaa");
alert("your input is "+b);
}
</script>
</head>
<body>
<input type="text" id="input" value="default"/>
<button onclick=call()>點我彈出Alert</button></br>
<input type="button" value="alert" onclick="onAlert()"/></br>
<input type="button" value="confirm" onclick="onConfirm()"/></br>
<input type="button" value="prompt" onclick="onPrompt()"/></br>
</body>
</html>
Android代碼:
package com.example.chenys.webviewdemo;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.EditText;
import android.widget.TextView;
/**
* Created by mChenys on 2015/11/19.
*/
public class TestAlertActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
setContentView(webView);
webView.requestFocus();
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);//啟用支持js
//設置響應js 的Alert()函數
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
AlertDialog.Builder b = new AlertDialog.Builder(TestAlertActivity.this);
b.setTitle("Alert");
b.setMessage(message);
b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
b.setCancelable(false);
b.create().show();
return true;
}
//設置響應js 的Confirm()函數
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
AlertDialog.Builder b = new AlertDialog.Builder(TestAlertActivity.this);
b.setTitle("Confirm");
b.setMessage(message);
b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
b.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
b.create().show();
return true;
}
//設置響應js 的Prompt()函數
@Override
public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {
final View v = View.inflate(TestAlertActivity.this, R.layout.prompt_dialog, null);
((TextView) v.findViewById(R.id.prompt_message_text)).setText(message);
((EditText) v.findViewById(R.id.prompt_input_field)).setText(defaultValue);
AlertDialog.Builder b = new AlertDialog.Builder(TestAlertActivity.this);
b.setTitle("Prompt");
b.setView(v);
b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String value = ((EditText) v.findViewById(R.id.prompt_input_field)).getText().toString();
result.confirm(value);
}
});
b.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
b.create().show();
return true;
}
});
webView.loadUrl("file:///android_asset/index3.html");
}
}
有2個需要注意的:
1.重寫onJsPrompt 方法,需要我們自定一個提示的布局文件,如下:prompt_dialog.xml
就是一個提示的TextView和輸入文本的EditTex而已.
[html] view plain
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/prompt_message_text"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/prompt_input_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minWidth="250dp"
android:selectAllOnFocus="true"
android:scrollHorizontally="true"/>
</LinearLayout>
2.WebView需要支持js的話,要記得加啟用js的支持.
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);