访问内置资源内的网页的方法,不用释放文件,网页还可以正常访问打包的资源内的css、图片等文件。
可自定义内容获取函数,根据文件地址任意返回文件内容。
可自定义解密函数,对文件内容进行解密。
附件1为完整工程文件,内含加密和未加密的资源文件。
附件2为 godking.resHtml 库文件,放于 aardio/lib/godking 目录即可。
未加密的网页,在发布后的exe文件的资源中,是明文存放的,aardio并未做任何处理:
提前对网页文件进行加密,再发布,打包到exe中就不是明文了,这样就可对网页源代码进行很好的保护了。访问时解密即可。
示例代码:
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=1111;bottom=583)
winform.add(
custom={cls="custom";text="自定义控件";left=8;top=40;right=552;bottom=576;bgcolor=12639424;border=1;z=1};
custom2={cls="custom";text="自定义控件";left=560;top=40;right=1104;bottom=576;bgcolor=12639424;border=1;z=2};
static={cls="static";text="未加密网页";left=8;top=8;right=104;bottom=32;font=LOGFONT(h=-16);transparent=1;z=3};
static2={cls="static";text="加密网页";left=560;top=8;right=656;bottom=32;font=LOGFONT(h=-16);transparent=1;z=4}
)
/*}}*/
//导入相关库
import sevenZip.lzma;
import godking.resHtml;
import web.view;
//浏览未加密网页
var resHtml = godking.resHtml("aardio资源网" /*资源目录*/,"Aardio资源网.html"/*首页文件名*/,/*内容获取函数代码*/,/*资源解密函数代码*/);
var wb = web.view(winform.custom);
wb.go(resHtml.url);
//浏览加密网页
var resHtml2 = godking.resHtml("aardio资源网加密" /*资源目录*/,"Aardio资源网.html"/*首页文件名*/,/*内容获取函数代码*/,`
function(html){
import sevenZip.lzma;
return sevenZip.lzma.unCompress(html);
}
`/*资源解密函数代码*/);
var wb2 = web.view(winform.custom2);
wb2.go(resHtml2.url);
//显示窗口
winform.show();
win.loopMessage();