weixin_40187983
weixin_40187983
采纳率73.6%
2018-05-22 06:39

重编问题-WebBrowser上载入网页 鼠标于Echart的图上,可传值至vb.net

5

因为之前我提问的有点多,所以在这重新整理发问

一、
a.目前已实现于利用线上网址,可成功执行
("http://echarts.baidu.com/echarts2/doc/example/mix7.html")
图片说明
b.使用于本机的网址,无发将值传出。
图片说明

二、我去了解程式传值的时候,发现部分差异
a.可执行版,其cookie,是有值的
图片说明
b.不可执行版,其cookie,是无值的
图片说明

其他我目前找不出差异,应该是这个值没传好

以下附上我的中国地图的html语法。因为有部分文字会贴不出来,我用图片
图片说明
option = {
title: {
text: '省份销量额',
subtext: '-',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left',
data:['销售额']
},
visualMap: {
min: 0,
max: 1000000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'center',
feature: {
dataView: {readOnly: false},
restore: {},
saveAsImage: {}
}
},
series: [

    {
        name: 'iphone5',
        type: 'map',
        mapType: 'china',
        label: {
            normal: {
                show: true
            },
            emphasis: {
                show: true
            }
        },
        data:[{name:"广东",value:426661},{name:"江苏",value:230421},{name:"浙江",value:220367},{name:"北京",value:202471},{name:"上海",value:163766},{name:"四川",value:163676},{name:"山东",value:148341},{name:"河南",value:120000},{name:"湖北",value:114175},{name:"福建",value:101498},{name:"辽宁",value:95904},{name:"湖南",value:93790},{name:"河北",value:91469},{name:"重庆",value:89959},{name:"安徽",value:80801},{name:"陕西",value:78940},{name:"云南",value:63423},{name:"广西",value:62782},{name:"黑龙江",value:58703},{name:"江西",value:58093},{name:"天津",value:56108},{name:"吉林",value:50502},{name:"贵州",value:47750},{name:"山西",value:46641},{name:"新疆",value:44705},{name:"内蒙古",value:41472},{name:"甘肃",value:28612},{name:"海南",value:24648},{name:"宁夏",value:13047},{name:"青海",value:9576},{name:"西藏",value:5352},{name:"香港",value:467},{name:"台湾",value:139} ]
    }
]

};

        myChart.setOption(option);
        myChart.on('mouseover', function (params) {
            var dataIndex = params.dataIndex;
            console.log(params);
        });
    </script>

</body>

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前
     Imports System.Text.RegularExpressions
    
    Public Class Form1
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            WebBrowser1.Navigate("file:///C:/Users/caozh/Downloads/20180522Echart取值/WindowsApplication1/bin/Debug/map/201805221445533029.html")
        End Sub
    
        Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
            Try
                Dim doc = WebBrowser1.Document
                Dim divs = doc.All
                Dim item As String = divs.Cast(Of HtmlElement)().Select(Function(x) IIf(x.InnerHtml Is Nothing, "", x.InnerHtml)) _
                .Where(Function(x As String) x.Contains("0.23, 1, 0.32, 1") And x.Length > 0) _
                .OrderBy(Function(x) x.Length).First()
                TextBox1.Text = Regex.Match(item, "(?<=\);\" & Chr(34) & "\>).*?(?=\<\/div\>$)").Value.Replace("<br>", vbCrLf)
            Catch
            End Try
        End Sub
    End Class
    
    

    图片说明

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前
     授人以鱼不如授人以渔,如果你正则表达式匹配不上,
    把 TextBox1.Text = Regex.Match(item, "(?<=\);\" & Chr(34) & "\>).*?(?=\<\/div\>$)").Value.Replace("<br>", vbCrLf)
    修改为
    TextBox1.Text = item
    这样文本框会显示完整的匹配到的html,然后照着修改。
    
    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前

    把你本地的html上传到网盘(可以不依赖外部直接运行吧),我看下。
    你贴的是html源代码,不是程序运行的时候f12抓出来的动态dom,这是没用的。
    和cookie肯定没关系。

    点赞 评论 复制链接分享