Foxtable(狐表)用户栏目专家坐堂 → Webbrowser控件打开网页时能否在JS中嵌入代码


  共有4859人关注过本帖树形打印复制链接

主题:Webbrowser控件打开网页时能否在JS中嵌入代码

帅哥哟,离线,有人找我吗?
天若千颖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
Webbrowser控件打开网页时能否在JS中嵌入代码  发帖心情 Post By:2016/11/11 13:06:00 [只看该作者]

如图,由于信息安全的需要,需要对网页进行加密,通过TOKEN的形式加密,但是,TOKEN又不能保留在网页中,不然所有的浏览器都能打开。所以,想试试通过Webbrowser打开的时候,向网页嵌入一串代码。

 

嵌入的代码如下:

 

 dynLayer.Token = "M_FqEbVGrVlU1DnnA-IAwthYPRwmpuj7Q9-nVv51S0MpDVOSWmsNETrWOQ8R4DElOvqpjFMPMhqxI1FwsPrbhYIYj-o9xxK9hCuOnFUgoWdOIzaHNrt_z1iVooPXPeveExrQ_8oY0O1H2hwqiJpgFg..";

 

如果嵌入不行的话,有没有什么变通的方法可以实现Webbrowser打开网页的时候才有这段代码,如果用IE打开,没有这段代码?

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161111130324.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/11 14:31:00 [只看该作者]

https://www.baidu.com/baidu?word=Webbrowser+%E5%8A%A0%E5%85%A5+%E6%8F%92%E5%85%A5+%E6%B3%A8%E5%85%A5+js&ie=utf-8&tn=myie2dg&ch=6

 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/12 9:59:00 [只看该作者]

蓝版你的意思是我这样的解决方案是可行的?

至于代码怎么写,我再去研究,不要把方向搞错了,做很多无用功。

 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/12 10:11:00 [只看该作者]

这个问题解决了,我就把FT和WEBGIS结合起来了,并且实现了对地图的加密和动态的授权访问。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/12 10:16:00 [只看该作者]

可以注入并调用代码。至于能不能用要结合网页测试过才知道

 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/12 10:29:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:js注入.foxdb

例如,上述项目,默认窗口打开Fxotable论坛的首页,希望能在打开首页的时候,将代码:

 

<script type="text/javascript">
try{
if(self==top){
document.write('<a href="index.asp?action=frameon" target="_top" title="显示左侧版面导航">左栏</a>');
}
else{
document.write('<a href="index.asp" target="_top" title="关闭左侧版面导航">关闭左栏</a>');
}
}catch(e){alert(e);}

</script>

改为:

 

<script type="text/javascript">
try{
if(self==top){
document.write('<a href="index.asp?action=frameon" target="_top" title="显示左侧版面导航">打开左栏</a>');   '这里修改原代码中的“左栏”为“打开左栏” 

document.write('<a href="index.asp?action=frameon" target="_top" title="显示左侧版面导航">这是增加的代码</a>');  '这里在原代码中增加了一行代码

}

 

else{
document.write('<a href="index.asp" target="_top" title="关闭左侧版面导航">关闭左栏</a>');
}
}catch(e){alert(e);}

</script>

 

 如何实现?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/12 11:05:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题测试.rar


 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/12 13:01:00 [只看该作者]

谢谢蓝版,解决了我几天没有解决的问题。

你的解决方案是把修改后的内容放入全局代码里面,我还有几个问题追问。

1.因为我有多个页面,不同的页面要修改的内容不一样,能否把要修改的内容放在表格里面,从表格里面引用修改后的内容,全局标量引用表格数据就像窗体里面引用表格数据一样吗?
也就是把function Button1_onclick() { alert('这是修改后的内容')  }放入表格。

2.如果要修改的内容是几句,怎么分割,现在只有一句:alert('这是修改后的内容')   ,如果有多句呢?两句之间用分号隔开吗?

3.问题测试这个例子中只有一个Script,所以修改的之后能找到唯一的一段代码,如果页面中有两个呢,如何定位到修改第二个,而不是第一个?

<script type="text/javascript" src="http://127.0.0.1/init.js"></script>  ‘这个中间没有代码
    <script>   '如何定位修改这个script里面的内容?
            var dynLayer = new ArcGISDynamicMapServiceLayer();   
            map.addLayer(dynLayer);
        });
    </script>

[此贴子已经被作者于2016/11/12 13:06:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/12 14:21:00 [只看该作者]

1、全局代码用法和其它地方一样
可以在全局代码调用内部函数,通过内部函数返回需要的内容,就不需要每次都重启项目了

2、js代码可以用分号分隔,或者用vbcrlf拼换行字符串

3、全局代码里Dim hec As System.Windows.Forms.HtmlElementCollection 返回的是一个集合,可以病历集合的内容,判断里面的内容
for i as integer = 0 to hec.Count - 1
if hec(i).InnerHtml.Contains("var dynLayer = new ArcGISDynamicMapServiceLayer();") then ......

 回到顶部