以文本方式查看主题

-  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.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

非常奇怪。这是一个比较典型的问题,我特意挑出来问问

我把项目拿出来了,版主可以自己发布看看。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip

顺便放出代码:

\'思路:
\'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.exe"=dword:0000270f

 

在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的。