Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
是否有看到有的網(wǎng)站進入網(wǎng)站就會彈出網(wǎng)站公告提示框,今天飛飛和你們分享打開網(wǎng)站就彈出網(wǎng)站公告提示框的JS彈窗代碼,希望可以幫到你~
<script language="javascript">alert('我是飛飛,可以通過【服務(wù)器大本營】相識是一種緣分,希望通過我的分享可以讓你更多的了解服務(wù)器,當(dāng)然有服務(wù)器需求的朋友可以加微信:137 5120 9102~域名速記:【服務(wù)器大本營】首拼.com')</script>
直接復(fù)制JS代碼,粘貼到首頁文件,或者需要彈出的頁面即可
.背景:
即時通訊、桌面端app開發(fā)、當(dāng)用戶和用戶聊天,當(dāng)發(fā)送聊天消息時,須要作收到消息通知,因為用到的技術(shù)棧是electron、它也有自己的通知模塊、因為其他的原因暫時用不了 最后查到HTML5新增的 Notification API的通知功能。即便將瀏覽器窗口最小化,依然會收到消息通知、所以就先用它吧、后面再后話處理一下。
2.通知權(quán)限:
2.1 首先須要 看瀏覽器是否支持 Notification ,支持才有下文,不然就此止步;
2.2 經(jīng)過 Notification.permission 檢測用戶是否容許通知:
// Notification.permission==='granted' 用戶容許
// Notification.permission==='denied' 用戶拒絕
// Notification.permission==='denied' 不知道用戶的選擇,默認
if(Notification.permission==='granted'){
console.log('用戶容許通知');
instance_init(title, options);
}else if(Notification.permission==='denied'){
console.log('用戶拒絕通知');
}else{
console.log('用戶還沒選擇,去向用戶申請權(quán)限吧');
Notification.requestPermission(function(status) {
if(status=='granted'){
console.log('用戶容許通知');
instance_init(title, options);
}else if(status=='denied'){
console.log('用戶拒絕通知');
}else{
console.log('用戶還沒選擇');
}
});
}
3. 主要用到的參數(shù)。其他參數(shù)了解:notification - Web API 接口參考 | MDNMDN Web DocsMDN logoMozilla logo
title:通知的標題
options:通知的設(shè)置選項(可選)。
body:通知的內(nèi)容。
tag:表明通知的一個識別標簽,相同tag時只會打開同一個通知窗口。
icon:要在通知中顯示的圖標的URL。
image:要在通知中顯示的圖像的URL。
data:想要和通知關(guān)聯(lián)的任務(wù)類型的數(shù)據(jù)。
requireInteraction:通知保持有效不自動關(guān)閉,默認為false。
4.代碼實現(xiàn)
4.1原生html5方式
<html>
<head>
<meta charset="UTF-8">
<title>H5通知功能 </title>
</head>
<body>
<script type="text/javascript">
// 調(diào)用通知方法
showMsgNotification('狀態(tài)更新提醒','你的朋友圈有3條新狀態(tài),快去查看吧');
/**
* H5通知功能
*/
function showMsgNotification(out_title, out_msg) {
var title=out_title ? out_title : '更新狀態(tài)標題';
var options={
body: out_msg ? out_msg : "更新狀態(tài)內(nèi)容", // 通知主體
requireInteraction: true, // 不自動關(guān)閉通知
icon: 'http://img18.house365.com/newcms/2017/03/16/148964317858ca26aacf7b5.jpg', // 通知圖標
tag: 'hangge',
};
var Notification=window.Notification || window.mozNotification || window.webkitNotification; // 瀏覽器作兼容處理
if(Notification) { //支持桌面通知
if(Notification.permission=="granted") { //已經(jīng)容許通知
instance_init(title, options);
} else {
//第一次詢問或已經(jīng)禁止通知(若是用戶以前已經(jīng)禁止顯示通知,那么瀏覽器不會再次詢問用戶的意見,Notification.requestPermission()方法無效)
Notification.requestPermission(function(status) {
if(status==="granted") { //用戶容許
instance_init(title, options);
} else { //用戶禁止
console.log('禁止')
return false
}
});
}
/**
* Notification定義
* */
function instance_init(title, options){
var instance=new Notification(title, options);
instance.onclick=function() {
console.log('onclick');
// 關(guān)閉通知
instance.close();
};
instance.onerror=function() {
console.log('onerror');
};
instance.onshow=function() {
console.log('onshow');
};
instance.onclose=function() {
console.log('onclose');
};
}
} else { //不支持(IE等)
console.log("不支持的瀏覽器")
}
}
</script>
</body>
</html>
4.2 electron方式、調(diào)用即可
ySQL 在預(yù)覽版中引入了 Javascript 支持。
Oracle 最近宣布 MySQL 數(shù)據(jù)庫服務(wù)器現(xiàn)在支持 JavaScript 函數(shù)和過程。用于存儲例程的 JavaScript 目前處于預(yù)覽狀態(tài),并且僅在 MySQL Enterprise Edition 和 MySQL Heatwave 中可用。
JavaScript 支持的引入使開發(fā)人員能夠在數(shù)據(jù)庫中實現(xiàn)高級數(shù)據(jù)處理邏輯。通過最大限度地減少數(shù)據(jù)庫服務(wù)器和客戶端應(yīng)用程序之間的數(shù)據(jù)移動,存儲函數(shù)和過程可以減少延遲、網(wǎng)絡(luò)開銷和出口成本。Oracle 高級首席軟件工程師?ystein Gr?vlen和技術(shù)人員顧問成員Farhan Tauheed寫道:
對JavaScript存儲程序的支持,不僅可以利用龐大的生態(tài)系統(tǒng)來提高開發(fā)人員的生產(chǎn)力;現(xiàn)在,更多的開發(fā)人員將具備編寫存儲程序所需的技能。換句話說,組織現(xiàn)在可以利用廣泛可用的 JavaScript 技能集進行后端開發(fā),從而挖掘更廣泛的開發(fā)人才。
在新功能的常見用例中,Oracle 重點介紹了數(shù)據(jù)提取、數(shù)據(jù)格式化、近似搜索、數(shù)據(jù)驗證、壓縮、編碼和數(shù)據(jù)轉(zhuǎn)換。該公告提供了一個將 JavaScript 代碼直接嵌入到 SQL 定義中的函數(shù)示例,受到社區(qū)的好評:
CREATE FUNCTION gcd_js (a INT, b INT) RETURNS INT
LANGUAGE JAVASCRIPT AS $$
let [x, y]=[Math.abs(a), Math.abs(b)];
while(y) [x, y]=[y, x % y];
return x;
$$;
當(dāng)使用傳統(tǒng)的 CALL 語句調(diào)用函數(shù)時,SQL 類型和 JavaScript 類型之間會發(fā)生隱式類型轉(zhuǎn)換。根據(jù)文檔,JavaScript 支持基于 ECMAScript 2021 標準,并且支持整數(shù)、浮點和CHAR/VARCHAR類型的所有變體。Gr?vlen 和 Tauheed 補充道:
MySQL-JavaScript 集成針對其特定用例使用定制的 VM,以實現(xiàn)最佳的端到端性能。這種定制基于 GraalVM 的提前 (AOT) 編譯,其中語言實現(xiàn)被編譯為本機二進制表示形式以進行快速處理。GraalVM 有自己的基于 ECMAScript 2021 標準的 JavaScript 實現(xiàn)。盡管它是使用 GraalVM 的 Polyglot 框架實現(xiàn)的,但該語言實現(xiàn)在性能方面具有競爭力。
GraalVM運行時包括 JDK、語言實現(xiàn)( JavaScript、R、Python、Ruby 和 Java)以及具有沙箱功能和工具支持的托管虛擬機。雖然 MySQL-JavaScript 在 OCI、AWS 和 Azure 上的 MySQL 企業(yè)版和 MySQL Heatwave 云服務(wù)中可用,但 MySQL 社區(qū)版不支持。
MySQL 并不是第一個在存儲例程中支持 Javascript 的開源關(guān)系數(shù)據(jù)庫,PLV8是 PostgreSQL 最流行的 Javascript 語言擴展。PLV8 受 PostgreSQL 的所有當(dāng)前版本支持,包括Amazon RDS等托管服務(wù),并且可用于存儲例程和觸發(fā)器。
Oracle 在 YouTube 上發(fā)布了三個 MySQL HeatWave 視頻,演示如何運行 Mustache 庫、驗證 Web 表單輸入或使用 JavaScript 中存儲的程序處理 Web URL。
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。