现在常用的一种javascript的方法是在当前的html文档中插入一个script
标签,在标签中引入script脚本Js代码var__includes__=newArrayArray.prototype.indexOf=function(obj){for(vari=0i<this.lengthi++){if(this[i]==obj)returni}return-1}Array.prototype.add=function(obj){this[this.length]=obj}functioninclude_js(js){if(__includes__.indexOf(js)-1)return__includes__.add(js)varhead=document.getElementsByTagName('head')[0]script=document.createElement('script')script.src=jsscript.type='text/javascript'head.appendChild(script)}当你只是在你的htmlw文档中使用这个方法的时候,一切OK,这其实是script的标签的一种快捷的写法而已。但是,如果你在一个javascript使用这个方法,问题就来了,比如我在test.js中使用include_js("test1.js"),在test1.js中有一个变量test1是在test.js中要使用的,在webkit中尽然出现了test1变量未定义的错误,我不知道ie和firefox是否有这种问题,我想可能是include_js本身不是同步执行导致的,所以我只好使用以下方法来完善inlcude_jsJs代码var__includes__=newArrayArray.prototype.indexOf=function(obj){for(vari=0i<this.lengthi++){if(this[i]==obj)returni}return-1}Array.prototype.add=function(obj){this[this.length]=obj}functionxhttp(url,callback){varrequest=nullif(typeofXMLHttpRequest!='undefined'){request=newXMLHttpRequest()}elseif(typeofActiveXObject!='undefined'){request=newActiveXObject('Microsoft.XMLHTTP')}request.open('GET',url,true)request.onreadystatechange=function(){if(request.readyState==4){callback(request.responseText)}}request.send(null)}functionadd_scripts(jss,callback){varfunc=function(jss,idx,callback){if(idx==jss.length){callback()return}add_script(jss[idx],function(){func(jss,++idx,callback)})}func(jss,0,callback)}functionadd_script(js,callback){if(__includes__.indexOf(js)-1){callback()return}__includes__.add(js)xhttp(js,function(js_content){varhead=document.getElementsByTagName('head')[0]script=document.createElement('script')head.appendChild(script)// script.innerHTML=js_content//原帖是这个...本人测试这行..无效 必须用text属性赋值script.defer=truescript.type='text/javascript'script.language='javascript'//本人测试修正..添加script.text=js_content//本人测试修正..添加//zfrong 09.5.20callback()})}functioninclude_js(js){if(__includes__.indexOf(js)-1)return__includes__.add(js)varhead=document.getElementsByTagName('head')[0]script=document.createElement('script')script.src=jsscript.type='text/javascript'head.appendChild(script)}当我在html文档中引入的时候,我用 include_js,当我在js文件中引入js时候,我使用add_scripts,add_scriptJs代码add_scripts(['test1.js','test2.js']),add_scripts方法使用了xmlhttp来读入js内容,并把读入的内容的写到一个新的script标签内,读入是异步执行的,当执行完毕后,会调用callback、
将一个html页面中嵌入另一个html页面需要使用到iframe标签。
iframe标签用法:
<iframe src="你要嵌套的页面.html" frameborder="0" width="300" scrolling="No" height="200" leftmargin="0" topmargin="0"></iframe>
scrolling禁止鼠标滑动,frameborder嵌套页面边框,leftmargin左边距,topmargin上边距
扩展资料:
嵌入页面的几种方法:
一、应用框架技术
在页面中嵌入外部页面的方法是,在页面中包含外部页面的位置插入“<IFRAME name="XXX" width=X height=X frameborder=0 src="XXX.htm" ></IFRAME >”语句即可。
如果想在嵌入的外部页面过长时不出现滚动条,在外部文件<body >标签中加入“scroll=no”或者在宿主页面<IFRAME >标签中加入“scrolling=no”即可。
但这样做会出现一个问题,就是宿主页面和外部页面背景色不同,这样会给人造成页面不是一个整体的感觉。这时,只要在引入的外部文件中使用和宿主页面相同的背景色就可以解决这一问题。
注意,如果您使用的是IE 5.5或以上版本的话,直接在标签<IFRAME >内设置属性allowTransparency="true"(即框架背景透明)即可。
二、使用Scriptlets组件技术
应用这种技术的方法是在宿主页面中包含外部页面的位置插入“<OBJECT style="border: 0px" type="text/x-scriptlet" data="XXX.htm" width=X Height=X ></OBJECT >”语句即可。
在IE 5.0及以后版本中,scriptlets和Html组件(HTCs)被重新命名为Windows脚本编程组件(WSC),其特点类似于上文所讲的框架技术。它有自己的不透明方形区域,并覆盖在宿主页面上,因此不能很平滑地用于具有纹理背景的宿主页面中,其工作方式类似于ActiveX控件,具有自己独立的事件、方法和属性。
三、使用脚本文件技术
document.write方法可以在宿主页面中输出内容,这样就可以通过在宿主页面中引入外部脚本文件来达到嵌入外部页面的目的。方法是在宿主页面中包含外部页面的位置插入“<SCRIPT language="JavaScript" src="import.js" ></SCRIPT >”,然后对外部页面进行改造,将每一行内容写入document.write中,并另外保存在扩展名为js的新文件中。
这种方法的特点是外部页面不具有自己的方形区域,和宿主页面浑然一体,但由于外部页面内容全部写在脚本中,无法做到所见即所得,必须等到脚本运行时才能看到实际效果,这样就为修改调试增加了困难。
参考资料来源:百度百科:内嵌框架
很正常,不要用autoload,用autoload你设成什么也没用。要用iframe
html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src='+ url + '></iframe>'
评论列表(0条)