以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- echarts图表,开发环境没问题,发布后居然会报错(果然,装逼容易被雷劈了....) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131751) |
||||
-- 作者:chen37280600 -- 发布时间:2019/3/5 23:20:00 -- echarts图表,开发环境没问题,发布后居然会报错(果然,装逼容易被雷劈了....) 我把Echarts集成进去系统里。思路是用版主的, 先把Echart的数据代码整理好,然后替换html里的某段内容,最后把生成的缓存html,拿入WebBrowser里。 有些Echart图表,开发时和发布后,都能用。有些确不能,例如下面的日历图 非常奇怪。这是一个比较典型的问题,我特意挑出来问问 我把项目拿出来了,版主可以自己发布看看。
顺便放出代码: \'思路: \'1把模板html文件内容读取 \'2用TextBox的内容替换模板里的关键代码 \'3生成一个名字随机不重复的临时html报表结果缓存 \'4把html报表结果拿到WebBrowser展示 \'准备好缓存目录--- If FileSys.DirectoryExists(ProjectPath & "temp") Then FileSys.DeleteDirectory(ProjectPath & "temp",2,2)\'清空缓存文件夹 End If FileSys.CreateDirectory(ProjectPath & "temp") \'生成缓存要用的文件夹 \'准备好缓存目录--- Dim str As String = FileSys.ReadAllText(ProjectPath & "Attachments/web/echarts/Model.html", encoding.utf8)\'获取模板的代码 str = str.Replace("//##狐表要替换的js代码##//", e.Form.controls("TextBox1").Text)\'替换模板里的代码 Dim file As String = ProjectPath & "temp/" & Guid.NewGuid().ToString() & ".html" \'随机生成一个名字,为了缓存一个不重复的临时文件 FileSys.WriteAllText(file, str, False, Encoding.utf8) \'把替换好html内容写回去 Dim webBrowser As Object = e.Form.Controls("WebBrowser1").basecontrol webBrowser.navigate(file)\'把生存的缓存html加载懂啊WebBrowser显示 Echart原始数据来自(完全一样拷贝的):https://echarts.baidu.com/examples/editor.html?c=calendar-graph [此贴子已经被作者于2019/3/6 9:43:33编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2019/3/6 9:20:00 -- ie内核的问题吧。webbrowser默认是ie6.0内核的。
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=84931&skin=0
其中,红色改成你发布的项目进程名称
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION]
在foxtable里面,用代码设置也可以,如
Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION","test1.exe",9999) |
||||
-- 作者:chen37280600 -- 发布时间:2019/3/6 9:44:00 -- 妥了,解决了。但是我好奇,如果在默认的win7系统下,ie原生是7版本的,强行设置为ie9,会不会出问题? |
||||
-- 作者:有点甜 -- 发布时间:2019/3/6 10:27:00 -- 以下是引用chen37280600在2019/3/6 9:44:00的发言:
妥了,解决了。但是我好奇,如果在默认的win7系统下,ie原生是7版本的,强行设置为ie9,会不会出问题?
修改内核参数即可。只要不是ie6,应该都是支持echart的。 |