以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  网页请求回复2次  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103106)

--  作者:ljh29206
--  发布时间:2017/6/30 15:45:00
--  网页请求回复2次
如图

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

这个正常吗

--  作者:blsu33
--  发布时间:2017/6/30 15:51:00
--  
好像就是两个网页的

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170630155005.png
图片点击可在新窗口打开查看
会不会是msgbox()弹窗延时和被遮挡感觉是两次呢

--  作者:ljh29206
--  发布时间:2017/6/30 16:06:00
--  
我再试一下

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


感觉有点奇怪,  luanshu  一个  path

结果 先返回  false  然后 返回 true

但文件夹 里面 不可能判断到

filesys.FileExists("luanshu")   这个东东出来的啊

实际上也没这个文件

--  作者:blsu33
--  发布时间:2017/6/30 16:18:00
--  
文件头怎么没看见呢 ,应该按照标准写,我是这么认为的,看看甜版怎么回复 

你可以在以下地址下载到WeUI框架文件:

http://www.foxtable.com/download/mobile/weui.zip

解压会得到三个文件,分别是:

weui.me.js
weui.me.css
weui.min.css

解压后将上述三个文件复制到"d:\\web\\weui"目录下

2、将HttpRequest事件代码设置为:

\'通用事件头,用于发送已经存在的常见文件
Dim
fl As String = "d:\\web\\" & e.path
If
filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar"
            e.WriteFile(fl)
            Return
\'
这里必须返回
    End
Select

End
If

\'以下是动态生成网页的代码
Select
Case e.Path
Case ""

后面是你要写代码了
[此贴子已经被作者于2017/6/30 16:20:09编辑过]

--  作者:ljh29206
--  发布时间:2017/6/30 16:48:00
--  
blsu33狐友,谢谢你的回复哦

不过我还是没搞懂  这个逻辑是怎么样的!
图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看

我再网页上输入 一个 127.0.0.1/123.1

这个地址

理论上  123.1 这个文件 在文件夹里面是找不到的啊.

但为什么代码运行时 ,会跳到 到  msgbox(1)  这里呢


而且 httprequest  会 先 运行到  msgbox(2)   然后 再出现 msgbox (1)

也就是这段代码  运行了 2次 ,   第一次 入了 false ,  第二次 进入到 true  有点理解不了!

--  作者:blsu33
--  发布时间:2017/6/30 17:02:00
--  
\'通用事件头,用于发送已经存在的常见文件,查询的是weui.me.js weui.me.css weui.min.css还有你自己定义的.JS 什么,只要查到,就返回值(架构,或者底层的东西)
Dim
 fl As String = "d:\\web\\" & e.path
If
 filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar"
            e.WriteFile(fl)
            Return 
\'
这里必须返回
    End 
Select

End
 If
\'上面的不能变("d:\\web\\" & e.path 这部分看你的JS 放到哪里是可以变的)
\'以下是动态生成网页的代码,这部分是你自己做的东西,你在体会下
Select
 Case e.Path
Case ""\'这里默认的是主页了127.0.0.1
msgbox(1) 
Case "123.1"\'这里是123.1
 msgbox(2) 
end select
[此贴子已经被作者于2017/6/30 17:05:38编辑过]

--  作者:有点甜
--  发布时间:2017/6/30 17:12:00
--  

你访问一个网页,触发多次是正常的。

 

httprequest事件,是绘制你的网页的事件代码。

 

比如你html里面有js的请求,会跳转到httprequest,下载对应的文件过去。

 

比如你html里有img的请求,因为只是写了路径,会跳转到httprequest里面,根据路径查找对应的文件,然后WriteFile的。

 

也就是,你页面代码的每一个内容(.jpg .gif .js .css),都是通过WriteFile下载后才能显示的。

 

触发多次很正常。

[此贴子已经被作者于2017/6/30 17:12:30编辑过]

--  作者:ljh29206
--  发布时间:2017/6/30 17:23:00
--  
多谢2位的 解答,  大概明白, 所以然

谢谢了.


改一改代码就看明白了!

MessageBox.Show(1)
改为
MessageBox.Show(fl)

原来第二次触发的代码是  获取abc.jpg的文件.


我一直以为是 123.1 这个文件.
[此贴子已经被作者于2017/6/30 17:38:21编辑过]