久久精品五月,日韩不卡视频在线观看,国产精品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区| 国产精品久久久一区二区| 国产精品亚洲综合久久| 欧美女激情福利| 精品一区视频| 婷婷综合成人| 日韩视频二区| 欧美xxxx中国| 国产精品久久乐| 蜜桃视频一区二区三区在线观看| 香蕉久久国产| 日韩深夜视频| 国产精品一区二区av日韩在线| 久久天堂成人| 麻豆传媒一区二区三区| 综合国产精品| 中文无码日韩欧| 婷婷激情综合| 国产一区日韩一区| 亚洲精品中文字幕乱码| 精品国产乱码久久久久久樱花| 91精品国产自产观看在线| 国产精品xvideos88| 日韩欧美午夜| 四虎国产精品免费久久| 国产精品久久久亚洲一区| 久久香蕉网站| 蜜臀久久99精品久久久久宅男| 国产精品中文字幕亚洲欧美| 免费在线欧美黄色| 精品一区在线| 美女视频网站久久| 性色av一区二区怡红| 欧美国产先锋| 丝袜亚洲另类欧美| 麻豆国产精品视频| 亚洲香蕉视频| 色婷婷狠狠五月综合天色拍| 国产欧美日韩免费观看| 亚洲欧美日韩高清在线| 精品国产一区二区三区av片| 伊人精品一区| 日韩视频中文| 亚洲小说春色综合另类电影| 日韩中文字幕麻豆| 成人污污视频| 免费在线日韩av| 日韩高清一区| 男女男精品视频网| 女同性一区二区三区人了人一| 视频在线不卡免费观看| 国产精品香蕉| 国产剧情在线观看一区| 免费成人在线视频观看| 在线成人直播| 999国产精品永久免费视频app| 久久99精品久久久野外观看| 日韩不卡在线观看日韩不卡视频 | 日韩av一区二区在线影视| 久久在线视频免费观看| 国产精品精品国产一区二区| 国产剧情一区二区在线观看| 日韩一区免费| 日本欧美一区二区在线观看| 亚洲婷婷丁香| 综合视频一区| 亚洲综合图色| 欧美日本一区| 精品亚洲成人| 日韩中文影院| 久久男人天堂| 偷拍精品精品一区二区三区| 成人精品中文字幕| 亚洲女人av| 91大神在线观看线路一区| 91精品国产经典在线观看| 91综合久久爱com| 精品国产亚洲日本| 精精国产xxxx视频在线播放| 免费毛片在线不卡| 日韩精品1区2区3区| 精品视频免费| 在线视频精品| 国产精品s色| 91精品久久久久久久久久不卡| 一区二区日韩免费看| 亚洲日本三级| 久久97视频| 亚洲精品国产偷自在线观看| 日精品一区二区三区| 精品中文字幕一区二区三区四区| 亚洲www免费| 欧美日韩午夜电影网| 久久蜜桃资源一区二区老牛| 男女男精品视频网| 亚洲免费福利| 88久久精品| 国产一区91| 久久电影tv| 国产调教精品| 激情欧美丁香| 国产精品66| 中文精品电影| 欧洲精品一区二区三区| 亚洲精品福利| 美女网站一区| 热三久草你在线| 国产欧美日韩综合一区在线播放| 欧洲毛片在线视频免费观看| 欧美xxxx性| 日韩av不卡在线观看| 亚洲电影在线一区二区三区| 国产欧美69| 日韩av网站在线免费观看| 亚洲作爱视频| 蜜桃精品在线| 高清久久一区| 久久尤物视频| 国产精品videossex| 久久精品97| 国产亚洲精品精品国产亚洲综合| 日韩精品一区第一页| 国产精品呻吟| 亚洲一区二区三区高清| 亚洲午夜在线| 99国产精品视频免费观看一公开 | 伊人影院久久| 麻豆一区二区99久久久久| 国产成人免费精品| 国产一区二区三区四区| av高清不卡| 免费观看不卡av| 久久高清国产| 青草国产精品| 久久精品二区亚洲w码 | 亚洲香蕉视频| 日韩专区视频网站| 亚洲日韩中文字幕一区| 亚洲人成亚洲精品| 国产精品毛片久久久| 福利一区在线| 99在线|亚洲一区二区| 日韩一区二区三免费高清在线观看| 日本不卡一区二区三区| 麻豆视频一区| 91成人精品视频| 一区二区国产精品| 久久av免费看| 欧美在线观看视频一区| 日韩精品亚洲一区二区三区免费| 美女高潮久久久| 红桃视频欧美| 欧美日韩亚洲一区在线观看| 精品亚洲成人| 久久高清国产| 激情久久99| 先锋亚洲精品| 国产一区二区三区网| 亚洲欧美久久| 国产在线观看91一区二区三区 | 九色精品91| 欧美激情日韩| 爽好多水快深点欧美视频| 欧美日韩精品一区二区三区在线观看| 麻豆精品新av中文字幕| 亚洲欧洲一区二区天堂久久| 青青国产91久久久久久| 欧美综合另类| 精品入口麻豆88视频| 亚洲综合五月| 午夜精品一区二区三区国产| 麻豆精品在线观看| 亚洲资源网站| 国产免费成人| 99久久婷婷| 国产精品www994| 亚洲一区二区三区无吗| 天堂√中文最新版在线| 日韩av一区二区三区| 影院欧美亚洲| 午夜日韩在线| 久久久久久久久99精品大| 久久精品资源| 国产精品主播| 久久国产日韩欧美精品| 中文不卡在线| 国产偷自视频区视频一区二区| 亚洲深夜视频| 日韩精品第一区| 国产麻豆久久| 99久久夜色精品国产亚洲狼| 精品午夜久久| 视频一区中文字幕国产| 精品欧美久久| 波多视频一区| av高清不卡| 美女亚洲一区| 综合激情五月婷婷| 日韩欧美久久| 麻豆久久久久久|