背景介绍:程序由flash和echarts开发,其中flash生成的文件嵌入到页面中,作为首页。
目的:将程序打包成可执行文件,如exe,使其他人可以正常运行程序,但是不泄露源代码。
曾经试用的方法:
(1)使用html打包程序,运行不正确。如:htmlCompiler,首页flash不显示,从而无法跳转到其他页面; 课件打包程序,flash可以正常运行,但是网页中无法生成图像;WebExe同样的问题;
(2)使用flash打包工具,同样是flash可以运行,但是网页无效;
(3)使用js压缩和混淆,但是可能由于js脚本中调用全局变量,处理后的脚本无效。
希望能尽快得到有效的建议,谢谢大家!
js,flash 本身的源码只能混淆,想别人完全看不到那个不容易,封装成EXE达不到保护HTML,JS源码的效果,即使看不到HTML文件用窗口探针类的软件也可以抓出html源码。HTML打包成独立EXE的工具一般是IE内核,打包以后之所以flash显示不正常,那可能是因为flash不支持IE的res协议导致的,你可以把flash放在web服务器上打开再加载应当就行了,如果是单独的flash倒是有办法放到EXE里面然后内存加载。
生成EXE可以用 AAuto写个简单的浏览器壳子, echarts 可能需要webkit内核,举个例子:
import win.ui; /DSG{{/ var winform = ..win.form(text="webkit浏览器";right=1123;bottom=616) /}}/
import web.kit.form; var webkit = web.kit.form(winform); webkit.go("http://echarts.baidu.com/doc/example/line2.html")
winform.show() win.loopMessage();
###### @figer1 不好意思,又得打扰您了。我刚刚试了将资源目录【内嵌资源】设为false,但是生成的exe点击仍然不显示内容。我将整个过程描述一下,您看是不是哪里步骤我弄错了。首先######回复 @wantChange2011 : webkit不支持res协议,所以res目录【内嵌资源】要设为false, webform可以支持内嵌资源生成独立EXE,但是使用的是IE内核。######您好,根据您的方法,我将所有的页面放在新建工程里面的res文件夹里,点击运行显示正常。不过发布后点击生成的exe文件就看不到东西了。请问这是什么原因,可以解决吗? 谢谢。######非常感谢您的回复,提供了我之前不知道的知识。###### @figer1 首先生成webKit界面,然后输入如下代码:import win.ui; /DSG{{/ var winform = ..win.form(text="webkit浏览器";right=1123;bottom=616) winform.add() /}}/
import web.kit.form; var webkit = web.kit.form(winform); webkit.go("/html/index-a.html")
winform.show() win.loopMessage();
之后,在res文件夹中放入自身的html及相关引用文件。将内嵌资源项改成false,然后编译生成一个test.aau文件,运行正常。###### 你可能是把文件复制到html目录下,但是并没有添加到工程里。 在工程里右键点HTML目录,然后点“同步本地目录”把所有文件添加到工程里就可以了。
也就是你生成的EXE下面没有 "/html/index-a.html" 这个文件,你直接复制过去就行的。 ######果然能运行了,非常感谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。