不用 iframe 和 SSI 能否实现包含页(转贴)
2006-04-15 20:18
363 查看
不用 iframe 和 SSI 能否实现包含页(转贴)
原地址:http://www2.flash8.net/teach/4014.htm
主要是asp下面的实现。很多都可以在其他地方应用。
不用 iframe 和 SSI 能否实现包含页
解决思路:
可以用 download 行为下载后再用 innerHTML 特性显示出来。
具体步骤:
1.调用页代码。
<span id="demo" src="demo.htm" _fcksavedurl=""demo.htm"" _fcksavedurl=""demo.htm""
style="behavior:url(#default#download)"></span>
<SCRIPT>
function window.onload(){
demo.startDownload(demo.src,fnDownload)
}
function fnDownload(oSource){
demo.innerHTML=oSource
}
</SCRIPT>
2.被调用页demo.htm的代码。
<span style="color:red;font:bold 12px Tahoma">
测试 演示 TEST test DEMO demo</span>
注意:在本例中id为demo的对象必须设置它的默认行为为download。
技巧:笔者总结的包含调用文件的9种方法:
1.script。需要注意的是include.js里不能再包含<script>和</script>,扩展名随意,所有内容必须经由 write()、wirteln()、innerHTML、innerText、outerHTML或outerText 输出显示。代码示例:
<script src="include.js"></script>
2.iframe。这个不用多解释了,有疑问的话请第一部分第六章。代码示例:
<iframe src="index.asp"></iframe>
3.Object(Scriptlets组件)。代码示例:
有滚动条<br>
<object data="index.asp" type="text/html" width=400 height=300></object>
<br>无滚动条<br>
<object style="border: 0px" type="text/x-scriptlet" data="index.asp" width=400 Height=300></object>
4.SSI(服务器端包含)。代码示例:
<!--#include file="index.asp"-->
<!--#include virtual="/index.asp"-->
5.Server.Transfer,Server.Execute(ASP对象的方法)。代码示例:
server.execute ("index.asp")
server.transfer ("index.asp")
6.FSO(FileSystemObject,文件读写组件)代码示例:
<%
TF=Server.Mappath("index.asp")
set fs=server.createobject("scripting.filesystemobject")
set ts=fs.opentextfile(TF)
Do While(ts.atendofstream<>true)
response.write(ts.readline)
Loop
ts.close
%>
7.download 行为。代码示例:
<span id="demo" src="demo.htm"
style="behavior:url(#default#download)"></span>
<SCRIPT>
function window.onload(){
demo.startDownload(demo.src,fnDownload)
}
function fnDownload(oSource){
demo.innerHTML=oSource
}
</SCRIPT>
8.XMLHTTP组件。代码示例:
<script for="window" event="onload">
with(new ActiveXObject("Microsoft.XMLHTTP")){
open("get",demo.src,false,"","")
send()
demo.innerHTML=ResponseText
}
</script>
<span id="demo" src="demo.htm"></span>
需要注意,目标文件最好以Unicode或UTF-8编码保存,否则目标文件中的双字节文字会变成乱码。当然,可以用下面的函数把返回的ResponseText处理一下,但是这样效率比较低,文件较大时不推荐使用。XMLHTTP这种方法也可以在后台程序中使用。
<script language=vbscript>
function bytes2bstr(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
strreturn = strreturn & chr(thischarcode)
else
nextcharcode = ascb(midb(vin,i+1,1))
strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
i = i + 1
end if
next
bytes2bstr = strreturn
end function
</script>
9.HTC(HTML Component,将在下一章中介绍)。
(1)包含页代码。
<span style="behavior:url(index.htc)"></span>
(2)被包含页index.htc的代码。
<public:attach event="oncontentready" onevent="loadit()" />
<script>
function loadit(){
insertAdjacentHTML("afterBegin", include.innerHTML)
}
</script>
<xmp id="include">
被包含内容
<a href=http://www.flash8.net>flash8</a>
</xmp>
特别提示
本例代码运行效果如图2.4.5所示,页面中所显示的文字为demo.htm页的。
图2.4.5 download行为应用效果
startDownload 下载指定文件,该方法带两个参数,第一个参数为指定下载的文件地址,第二个参数为下载完成后要执行的代码的函数的指针。如果调用的函数是用 VBScript 脚本编写,需要使用 GetRef 函数获取此回调函数的指针。
责任编辑:kissall 时间:2005年8月29日
原地址:http://www2.flash8.net/teach/4014.htm
主要是asp下面的实现。很多都可以在其他地方应用。
不用 iframe 和 SSI 能否实现包含页
作者:闪吧 类型:原创 来源:闪吧
不用 iframe 和 SSI 能否实现包含页
解决思路:
可以用 download 行为下载后再用 innerHTML 特性显示出来。
具体步骤:
1.调用页代码。
<span id="demo" src="demo.htm" _fcksavedurl=""demo.htm"" _fcksavedurl=""demo.htm""
style="behavior:url(#default#download)"></span>
<SCRIPT>
function window.onload(){
demo.startDownload(demo.src,fnDownload)
}
function fnDownload(oSource){
demo.innerHTML=oSource
}
</SCRIPT>
2.被调用页demo.htm的代码。
<span style="color:red;font:bold 12px Tahoma">
测试 演示 TEST test DEMO demo</span>
注意:在本例中id为demo的对象必须设置它的默认行为为download。
技巧:笔者总结的包含调用文件的9种方法:
1.script。需要注意的是include.js里不能再包含<script>和</script>,扩展名随意,所有内容必须经由 write()、wirteln()、innerHTML、innerText、outerHTML或outerText 输出显示。代码示例:
<script src="include.js"></script>
2.iframe。这个不用多解释了,有疑问的话请第一部分第六章。代码示例:
<iframe src="index.asp"></iframe>
3.Object(Scriptlets组件)。代码示例:
有滚动条<br>
<object data="index.asp" type="text/html" width=400 height=300></object>
<br>无滚动条<br>
<object style="border: 0px" type="text/x-scriptlet" data="index.asp" width=400 Height=300></object>
4.SSI(服务器端包含)。代码示例:
<!--#include file="index.asp"-->
<!--#include virtual="/index.asp"-->
5.Server.Transfer,Server.Execute(ASP对象的方法)。代码示例:
server.execute ("index.asp")
server.transfer ("index.asp")
6.FSO(FileSystemObject,文件读写组件)代码示例:
<%
TF=Server.Mappath("index.asp")
set fs=server.createobject("scripting.filesystemobject")
set ts=fs.opentextfile(TF)
Do While(ts.atendofstream<>true)
response.write(ts.readline)
Loop
ts.close
%>
7.download 行为。代码示例:
<span id="demo" src="demo.htm"
style="behavior:url(#default#download)"></span>
<SCRIPT>
function window.onload(){
demo.startDownload(demo.src,fnDownload)
}
function fnDownload(oSource){
demo.innerHTML=oSource
}
</SCRIPT>
8.XMLHTTP组件。代码示例:
<script for="window" event="onload">
with(new ActiveXObject("Microsoft.XMLHTTP")){
open("get",demo.src,false,"","")
send()
demo.innerHTML=ResponseText
}
</script>
<span id="demo" src="demo.htm"></span>
需要注意,目标文件最好以Unicode或UTF-8编码保存,否则目标文件中的双字节文字会变成乱码。当然,可以用下面的函数把返回的ResponseText处理一下,但是这样效率比较低,文件较大时不推荐使用。XMLHTTP这种方法也可以在后台程序中使用。
<script language=vbscript>
function bytes2bstr(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
strreturn = strreturn & chr(thischarcode)
else
nextcharcode = ascb(midb(vin,i+1,1))
strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
i = i + 1
end if
next
bytes2bstr = strreturn
end function
</script>
9.HTC(HTML Component,将在下一章中介绍)。
(1)包含页代码。
<span style="behavior:url(index.htc)"></span>
(2)被包含页index.htc的代码。
<public:attach event="oncontentready" onevent="loadit()" />
<script>
function loadit(){
insertAdjacentHTML("afterBegin", include.innerHTML)
}
</script>
<xmp id="include">
被包含内容
<a href=http://www.flash8.net>flash8</a>
</xmp>
特别提示
本例代码运行效果如图2.4.5所示,页面中所显示的文字为demo.htm页的。
图2.4.5 download行为应用效果
特别说明
download 行为的作用是下载文件并在下载完成后通知一个指定的回调函数,该行为只有一个startDownload方法:startDownload 下载指定文件,该方法带两个参数,第一个参数为指定下载的文件地址,第二个参数为下载完成后要执行的代码的函数的指针。如果调用的函数是用 VBScript 脚本编写,需要使用 GetRef 函数获取此回调函数的指针。
责任编辑:kissall 时间:2005年8月29日
相关文章推荐
- 一个窗口里包含一个iframe,点击iframe内的submit按钮,返回的视图总是显示在iframe中,我想要的效果是点击按钮后返回的视图是在浏览器窗口中...?asp.net mvc 的action中,不用js怎么实现??????????
- 在SHTML中通过SSI指令实现文件动态包含
- 不用ajax的局部页面跳转实现方法(iframe)
- div实现拖拽效果,同时包含iframe
- JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
- 利用DhtmlXtree实现展现,修改,添加,删除,移动功能一棵树上实现,iframe的单个滑动条显示,包含在iframe中树节点中文内容过长问题解决
- 不用iframe在一个页面中包含另外一个页面
- 不用ajax,采用隐藏iframe实现表单异步提交
- S7200没有通讯口了,能否不用CP243实现PLC与云平台的数据对接
- 在.NET MVC下不用iframe实现局部加载html
- 不用修改原网页,实现弹出式iframe
- 另类思路:不用xmlhttp或者iframe来实现ajax操作
- 不用iframe实现在一个页面内加载另一个页面
- iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析)
- 不使用定时器实现iframe的自适应高度
- 如何实现iframe(嵌入式帧)的自适应高度
- 【多位数】【多重括号】【带负数】【字符表达式运算】【使用递归】【不用栈实现】
- [置顶] iframe标签的使用并实现切换界面效果
- Python实现确认字符串是否包含指定字符串的实例
- [转贴]改好DEBUG七处缺点的comexe实现报告