久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

JS開發桌面端應用程序教程

前言

本文為開發nw中遇到的各種問題,僅以記錄供備忘以及遇到相同問題的人的一點點解決思路。

1. package.json中的window字段無效

原因package.json中的window字段,只在main字段為*.html或是外部網址時有效,當為 *.js時是無效的。

{    "name": "blog",    "main": "http://php.cn/",//main為網址,下方的window設定有效    //"main": "index.html",//main為 *.html,下方的window設定有效    //"main": "index.js?1.1.11",//main為 *.js,下方的window設定無效!!        "version": "0.0.1",    "window": {"title": "Nw.js Demo",//如果 index.html沒有title,則會顯示這里的值"icon": "assest/img/logo.png",//標題欄圖標"position": "center",//默認顯示位置"width": 1280,"height": 680,"frame": true,//是否顯示最外層的框架,設為false之后 窗口的最小化、最大化、關閉 就沒有了"resizable": true,"min_width": 1028    },}

關于其他package.json中的可使用的配置見官網:

2. nw-builder一次只能打包一個項目

nw默認不包含打包成.exe文件的形式,遂nw-builder項目為自動將nw應用打包壓縮成可執行文件的程序。
詳見:

假設nw-builder的配置文件如下:

var nw = new NwBuilder({     version: '0.14.7',      files: './app/**',//nw應用項目目錄     platforms: ['win32'], });

配置字段files指定了app文件夾下的所有文件,但app文件夾下存在兩個項目:nw-demo和zfile-explorer
JS開發桌面端應用程序教程?

對于這種情況nw-builder只會打包出按文件名排序的第一個文件夾項目:nw-demo
JS開發桌面端應用程序教程?

3. 在nw中植入全局變量的方法

前提:需要在nw項目中的package.json中的main字段指定為*.js文件。或是指定本地的.html文件后再載入js文件

package.json文件{    "name": "nw-demo",    "version": "1.0.0",    "description": "",    "main": "./main.js?1.1.11",    "scripts": {"start":"cd ../../ & gulp nw"    },    ...}

在mian字段指定的js文件中,再使用nw.Window.open來載入指定本地頁面或是外部網址,如:

main.js文件:nw.Window.open('./view/index.html', {height:600,width:800}, function (win) { });

在這個js文件中可以使用4種方法植入全局變量或全局方法:
1、將全局變量使用var方式聲明賦值
2、將全局變量直接賦值,無定義
3、將全局變量掛載到window
4、將全局變量掛載到global

測試代碼:

main.js文件//var定義方式var xxcanghai_1 = 1;//直接賦值方式xxcanghai_2 = 10;//掛載到window對象上window.xxcanghai_3 = 100;//掛載到global對象上global.xxcanghai_4 = 1000;

在用nw動態載入的頁面中寫入一下代碼測試

./view/index.html文件    <script>     console.log(xxcanghai_1);//報錯     console.log(window.xxcanghai_1);//undefined     console.log(global.xxcanghai_1);//1       console.log(xxcanghai_2);//報錯     console.log(window.xxcanghai_2);//undefined     console.log(global.xxcanghai_2);//10       console.log(xxcanghai_3);//報錯     console.log(window.xxcanghai_3);//undefined     console.log(global.xxcanghai_3);//100       console.log(xxcanghai_4);//報錯     console.log(window.xxcanghai_4);//undefined     console.log(global.xxcanghai_4);//1000  </script>

結論
在動態加載的頁面中,訪問全局變量只能使用global.*的方式
之所以會這樣是因為nw的運行環境是chromiumNodejs混合的。所以可以在網頁js中執行Nodejs代碼。
雖然可以但不應該!
從頁面代碼的責任一致性上不應該在網頁代碼中編寫nodejs代碼,遂應該將global中的對象寫入每個網頁的window對象中。之后頁面代碼再從window.*中調用

植入每個頁面window中的方法

可利用nw的對package.json擴展字段的inject_js_startinject_js_end來實現。

官方說明:
inject_js_start: The injecting JavaScript code is to be executed after any files from css, but before any other DOM is constructed or any other script is run.

inject_js_end: The injecting JavaScript code is to be executed after the document object is loaded, before onload event is fired. This is mainly to be used as an option of Window.open() to inject JS in a new window.

http://docs.nwjs.io/en/latest/References/Manifest%20Format/#inject_js_start

inject_js_start字段指向本地的js文件,他可以在加載的任何頁面的任何頁面js執行前執行。

package.json文件:{    "name": "blog",    "version": "1.0.0",    "main": "./main.html",    "inject_js_start": "./js/inject_js_start.js?1.1.11",//設置所有頁面前植入的js文件地址    "author": "php@gmail.com",    "license": "ISC",}

在植入的js文件中,將global中的變量賦值到當前頁面window中

./js/inject_js_start.js文件://將node的global中的變量寫入每個即將打開的頁面的js的window對象中window["xxcanghai_1"] = global["xxcanghai_1"]

之后即可在任何nw打開的頁面中通過window.xxcanghai_1來訪問全局變量了。

4. nwjs主進程出現異常后不顯示窗體

現象:nwjs主進程出現異常后不顯示窗體,不彈出錯誤提示,也不會自動結束進程
原因package.json文件中的main字段為.js文件,同時此js文件出現error時會出現此問題。
解決方案package.json文件中的main字段使用.html文件,然后再載入要執行的nw主程序js文件即可。這樣即使報錯了也會顯示出空窗口,同時也可以通過開發者工具欄查看問題原因,用戶也可以關閉應用,不至于無法結束進程。

其他教程文章

使用 NW.js 將 Web 應用打包為桌面應用

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
久久精品亚洲| 亚洲精品1区| 69堂精品视频在线播放| 视频一区中文字幕国产| 国产精品美女久久久浪潮软件| 欧美日韩一区二区综合 | 国产探花一区| 日日摸夜夜添夜夜添国产精品| 在线看片日韩| 日韩激情中文字幕| 欧美日韩亚洲一区在线观看| 国产亚洲欧美日韩精品一区二区三区 | 成人羞羞视频播放网站| 日韩欧美一区二区三区在线观看| 久久精品国内一区二区三区水蜜桃| 亚洲欧美伊人| 日韩中文字幕麻豆| 日韩激情一区二区| 欧美国产专区| 亚洲人成在线网站| 在线国产一区| 日韩欧美2区| 麻豆国产精品视频| 三上悠亚国产精品一区二区三区 | 亚洲一区二区三区四区五区午夜| 久久亚洲一区| 欧美日韩黄网站| 国产一区精品福利| 亚洲午夜精品久久久久久app| 99视频在线精品国自产拍免费观看| 免费久久精品视频| 日本免费一区二区视频| 精品国产美女a久久9999| 欧美香蕉视频| 久久亚洲不卡| 国产精品videossex| 播放一区二区| 视频一区欧美日韩| 免费视频一区二区三区在线观看| 中文字幕人成乱码在线观看| 在线精品小视频| 久久狠狠久久| 久久人人精品| 日韩av不卡在线观看| 中文字幕在线视频网站| 亚洲欧美网站| 麻豆精品在线观看| 日韩一级网站| 美女视频黄久久| 99视频一区| 久久精品人人| 免费久久99精品国产自在现线| 欧美在线不卡| 欧美亚洲激情| 国产精品亚洲产品| 黄色av一区| 欧美精品导航| 国产一级久久| 久久久久久色| 欧美色图国产精品| 久久国产乱子精品免费女| 亚洲性色视频| 久久xxx视频| 亚洲一区日韩| 91亚洲国产| 日韩高清三区| 米奇777超碰欧美日韩亚洲| 日韩精品福利一区二区三区| 欧美亚洲日本精品| 日韩精品乱码av一区二区| 午夜av成人| 国产精品白丝一区二区三区| 99亚洲视频| 在线中文字幕播放| 国产亚洲字幕| 日韩影院在线观看| 日韩一区自拍| 国产精品草草| 亚洲一区二区免费在线观看| 中文在线免费视频| 国产精品白丝一区二区三区| 欧美综合国产| 日本一二区不卡| 18国产精品| 亚洲自啪免费| 日韩不卡视频在线观看| 国产日产高清欧美一区二区三区| 蜜桃一区二区三区| 高清av一区| 国产欧美自拍| 日韩精品乱码av一区二区| 亚洲少妇诱惑| 色老板在线视频一区二区| 国产精品va| 日韩精品中文字幕一区二区| 狠狠爱成人网| 图片区亚洲欧美小说区| 久久亚州av| 日本a级不卡| 蜜臀久久99精品久久久画质超高清 | 毛片在线网站| 精品深夜福利视频| 国产亚洲电影| 日本伊人午夜精品| 天堂av在线一区| 久久精品欧美一区| 人在线成免费视频| 精品中国亚洲| 老色鬼精品视频在线观看播放| 亚洲精品在线a| aⅴ色国产欧美| 99久久视频| 久久精品成人| 亚洲91视频| 久久久久.com| 欧美gv在线| 日韩在线短视频| se01亚洲视频| 日韩在线看片| 91看片一区| 伊人久久高清| 蜜臀91精品国产高清在线观看| 丝袜美腿诱惑一区二区三区 | 亚洲成人精选| 激情综合激情| 欧美va亚洲va日韩∨a综合色| 日韩一区电影| 999国产精品999久久久久久| 久久91导航| 99久久九九| 亚洲精品一二三区区别| 欧美日韩国产亚洲一区| 婷婷久久一区| 亚洲尤物在线| 中文无码日韩欧| 日韩欧美中文字幕一区二区三区| 国产精品老牛| 久久国产高清| 蜜桃视频免费观看一区| 亚洲免费成人av在线| 天堂va在线高清一区| 亚洲色图网站| 日本麻豆一区二区三区视频| 国产精品免费99久久久| 麻豆91小视频| 国产综合色区在线观看| 91精品99| 中文字幕免费精品| 欧美精品影院| 久久精品国产亚洲一区二区三区| 国产96在线亚洲| 天堂√8在线中文| 91九色精品| 一区二区三区国产在线| 国产欧美亚洲一区| 国产乱码午夜在线视频| 欧美日韩国产在线观看网站 | 日韩精品视频网站| 国产精品亚洲二区| 日本一区二区免费高清| 蜜桃成人av| 日韩精品一二三四| 亚洲精品美女91| 免费在线亚洲| 国产91久久精品一区二区| 免费观看在线综合色| 国产乱码精品一区二区亚洲| а√天堂中文在线资源8| 伊人影院久久| 国产情侣一区| 在线视频观看日韩| 五月激激激综合网色播 | 欧美日韩xxxx| 亚洲最新无码中文字幕久久| 黄色日韩精品| 日韩精品免费一区二区夜夜嗨| 免费在线日韩av| 欧美另类专区| 国产免费播放一区二区| 99热精品久久| 日本国产欧美| 电影91久久久| 99国产精品久久久久久久| 欧美日韩午夜| 不卡中文一二三区| 国产免费av一区二区三区| 日韩欧美一区二区三区在线视频| 久久福利影视| 日本久久精品| 中文字幕一区日韩精品| 国产精品大片免费观看| 不卡在线一区| 国产精品白浆| 国产美女精品| 97精品中文字幕| 日本伊人午夜精品| 999精品色在线播放| 国产精品a级| 日韩精品一二三| xxxxx性欧美特大|