以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Webbrowser控件打开网页时能否在JS中嵌入代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92736) |
||||||||||||||||||||||||||||||||||||||||||
-- 作者:天若千颖 -- 发布时间:2016/11/11 13:06:00 -- Webbrowser控件打开网页时能否在JS中嵌入代码 如图,由于信息安全的需要,需要对网页进行加密,通过TOKEN的形式加密,但是,TOKEN又不能保留在网页中,不然所有的浏览器都能打开。所以,想试试通过Webbrowser打开的时候,向网页嵌入一串代码。
嵌入的代码如下:
dynLayer.Token = "M_FqEbVGrVlU1DnnA-IAwthYPRwmpuj7Q9-nVv51S0MpDVOSWmsNETrWOQ8R4DElOvqpjFMPMhqxI1FwsPrbhYIYj-o9xxK9hCuOnFUgoWdOIzaHNrt_z1iVooPXPeveExrQ_8oY0O1H2hwqiJpgFg..";
如果嵌入不行的话,有没有什么变通的方法可以实现Webbrowser打开网页的时候才有这段代码,如果用IE打开,没有这段代码?
此主题相关图片如下:qq截图20161111130324.jpg |
||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间: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 |
||||||||||||||||||||||||||||||||||||||||||
-- 作者:天若千颖 -- 发布时间:2016/11/12 9:59:00 -- 蓝版你的意思是我这样的解决方案是可行的? 至于代码怎么写,我再去研究,不要把方向搞错了,做很多无用功。
|
||||||||||||||||||||||||||||||||||||||||||
-- 作者:天若千颖 -- 发布时间:2016/11/12 10:11:00 -- 这个问题解决了,我就把FT和WEBGIS结合起来了,并且实现了对地图的加密和动态的授权访问。 |
||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2016/11/12 10:16:00 -- 可以注入并调用代码。至于能不能用要结合网页测试过才知道 |
||||||||||||||||||||||||||||||||||||||||||
-- 作者:天若千颖 -- 发布时间:2016/11/12 10:29:00 --
例如,上述项目,默认窗口打开Fxotable论坛的首页,希望能在打开首页的时候,将代码:
改为:
如何实现? |
||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2016/11/12 11:05:00 --
|
||||||||||||||||||||||||||||||||||||||||||
-- 作者:天若千颖 -- 发布时间: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编辑过]
|
||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间: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 ......
|