C#.NETページで次のコードを使用してJavaScriptアラートを生成しています。
Response.Write("<script language=JavaScript> alert('Hi select a valid date'); </script>");
見出しのタイトルが「Webページからのメッセージ」である警告ボックスが表示されます。
タイトルを変更することは可能ですか?
C#.NETページで次のコードを使用してJavaScriptアラートを生成しています。
Response.Write("<script language=JavaScript> alert('Hi select a valid date'); </script>");
見出しのタイトルが「Webページからのメッセージ」である警告ボックスが表示されます。
タイトルを変更することは可能ですか?
回答:
いいえ、できません。
これはセキュリティ/フィッシング対策機能です。
あなたはIEでこれを行うことができます:
<script language="VBScript">
Sub myAlert(title, content)
MsgBox content, 0, title
End Sub
</script>
<script type="text/javascript">
myAlert("My custom title", "Some content");
</script>
(ただし、できなかったことを本当に願っています。)
javascript window.alert()関数をオーバーライドします。
window.alert = function(title, message){
var myElementToShow = document.getElementById("someElementId");
myElementToShow.innerHTML = title + "</br>" + message;
}
これにより、独自のalert()
関数を作成できます。(いくつかのdiv要素から)新しい「格好良い」ダイアログを作成します。
chromeとwebkitで動作することをテスト済み。
someElementId
?どのタグを意味しますか?
someElementId
HTML要素に設定したIDです。
ヘッダーボックスのJavaScriptをカスタマイズするために、このSweetalertを見つけました。
例えば
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
},
function(){
swal("Deleted!", "Your imaginary file has been deleted.", "success");
});
どのように質問したかという点で質問に答えるため。
これは実際には非常に簡単です(少なくともInternet Explorerでは)、17.5秒で完了しました。
cxfxが提供したカスタムスクリプトを使用する場合:(apsxファイルに配置します)
<script language="VBScript">
Sub myAlert(title, content)
MsgBox content, 0, title
End Sub
</script>
その後、通常のアラートを呼び出すのと同じように呼び出すことができます。コードを次のように変更するだけです。
Response.Write("<script language=JavaScript> myAlert('Message Header Here','Hi select a valid date'); </script>");
あなたや他の誰かを助けることを願っています!
-ここでは非常に素敵な「ハック」ありますhttps://stackoverflow.com/a/14565029アラート/確認メッセージを生成するために、空のSRCとのiframeを使用して-それは(セキュリティのため)Android上で仕事をしません-しかし、あなたのシナリオに合うかもしれません。
はい、変更できます。Javascript内でVBscript関数を呼び出す場合。
ここに簡単な例があります
<script>
function alert_confirm(){
customMsgBox("This is my title","how are you?",64,0,0,0);
}
</script>
<script language="VBScript">
Function customMsgBox(tit,mess,icon,buts,defs,mode)
butVal = icon + buts + defs + mode
customMsgBox= MsgBox(mess,butVal,tit)
End Function
</script>
<html>
<body>
<a href="javascript:alert_confirm()">Alert</a>
</body>
</html>
Webアプリケーションに基づいてプロジェクトを起動したり、プロジェクトに参加したりする場合、インターフェイスのデザインはおそらく良いでしょう。それ以外の場合は変更する必要があります。Web 2.0アプリケーションでは、動的なコンテンツ、多くのエフェクト、およびその他のものを使用します。これらはすべて問題ありませんが、JavaScriptアラートをスタイルしてボックスを確認することは考えられていません。ここに彼らのやり方があります..完全に動的、JSおよびCSS駆動型シンプルなhtmlファイルを作成
<html>
<head>
<title>jsConfirmSyle</title>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script type="text/javascript" src="jsConfirmStyle.js"></script>
<script type="text/javascript">
function confirmation() {
var answer = confirm("Wanna visit google?")
if (answer){
window.location = "http://www.google.com/";
}
}
</script>
<style type="text/css">
body {
background-color: white;
font-family: sans-serif;
}
#jsconfirm {
border-color: #c0c0c0;
border-width: 2px 4px 4px 2px;
left: 0;
margin: 0;
padding: 0;
position: absolute;
top: -1000px;
z-index: 100;
}
#jsconfirm table {
background-color: #fff;
border: 2px groove #c0c0c0;
height: 150px;
width: 300px;
}
#jsconfirmtitle {
background-color: #B0B0B0;
font-weight: bold;
height: 20px;
text-align: center;
}
#jsconfirmbuttons {
height: 50px;
text-align: center;
}
#jsconfirmbuttons input {
background-color: #E9E9CF;
color: #000000;
font-weight: bold;
width: 125px;
height: 33px;
padding-left: 20px;
}
#jsconfirmleft{
background-image: url(left.png);
}
#jsconfirmright{
background-image: url(right.png);
}
< /style>
</head>
<body>
<p><br />
<a href="#"
onclick="javascript:showConfirm('Please confirm','Are you really really sure to visit google?','Yes','http://www.google.com','No','#')">JsConfirmStyled</a></p>
<p><a href="#" onclick="confirmation()">standard</a></p>
</body>
</html>
次に、単純なjsファイル名jsConfirmStyle.jsを作成します。ここに簡単なjsコードがあります
ie5=(document.getElementById&&document.all&&document.styleSheets)?1:0;
nn6=(document.getElementById&&!document.all)?1:0;
xConfirmStart=800;
yConfirmStart=100;
if(ie5||nn6) {
if(ie5) cs=2,th=30;
else cs=0,th=20;
document.write(
"<div id='jsconfirm'>"+
"<table>"+
"<tr><td id='jsconfirmtitle'></td></tr>"+
"<tr><td id='jsconfirmcontent'></td></tr>"+
"<tr><td id='jsconfirmbuttons'>"+
"<input id='jsconfirmleft' type='button' value='' onclick='leftJsConfirm()' onfocus='if(this.blur)this.blur()'>"+
" "+
"<input id='jsconfirmright' type='button' value='' onclick='rightJsConfirm()' onfocus='if(this.blur)this.blur()'>"+
"</td></tr>"+
"</table>"+
"</div>"
);
}
document.write("<div id='jsconfirmfade'></div>");
function leftJsConfirm() {
document.getElementById('jsconfirm').style.top=-1000;
document.location.href=leftJsConfirmUri;
}
function rightJsConfirm() {
document.getElementById('jsconfirm').style.top=-1000;
document.location.href=rightJsConfirmUri;
}
function confirmAlternative() {
if(confirm("Scipt requieres a better browser!")) document.location.href="http://www.mozilla.org";
}
leftJsConfirmUri = '';
rightJsConfirmUri = '';
/**
* Show the message/confirm box
*/
function showConfirm(confirmtitle,confirmcontent,confirmlefttext,confirmlefturi,confirmrighttext,con firmrighturi) {
document.getElementById("jsconfirmtitle").innerHTML=confirmtitle;
document.getElementById("jsconfirmcontent").innerHTML=confirmcontent;
document.getElementById("jsconfirmleft").value=confirmlefttext;
document.getElementById("jsconfirmright").value=confirmrighttext;
leftJsConfirmUri=confirmlefturi;
rightJsConfirmUri=confirmrighturi;
xConfirm=xConfirmStart, yConfirm=yConfirmStart;
if(ie5) {
document.getElementById("jsconfirm").style.left='25%';
document.getElementById("jsconfirm").style.top='35%';
}
else if(nn6) {
document.getElementById("jsconfirm").style.top='25%';
document.getElementById("jsconfirm").style.left='35%';
}
else confirmAlternative();
}
デフォルトの確認ボックスのボックスのタイトルとボタンのタイトルを変更するときにも、同様の問題が発生しました。Jquery Uiダイアログプラグインhttp://jqueryui.com/dialog/#modal-confirmationに行きました
私が以下を持っていたとき:
function testConfirm() {
if (confirm("Are you sure you want to delete?")) {
//some stuff
}
}
私はそれを次のように変更しました:
function testConfirm() {
var $dialog = $('<div></div>')
.html("Are you sure you want to delete?")
.dialog({
resizable: false,
title: "Confirm Deletion",
modal: true,
buttons: {
Cancel: function() {
$(this).dialog("close");
},
"Delete": function() {
//some stuff
$(this).dialog("close");
}
}
});
$dialog.dialog('open');
}
ここで動作しているのを見ることができますhttps://jsfiddle.net/5aua4wss/2/
お役に立てば幸いです。