链接:<a href="#">链接</a>
我想,当我点链接的时候,在页面中用JS新创建一个隐藏的iframe,然后设置连接的target指向到这个iframe。
可以吗?如何实现?同样,我也想当我点<button>的时候,也新建一个iframe,然后打开一个页面,target指向到iframe同样,我也想当我提交表单的时候submit,也新建一个iframe,把表单提交到隐藏的iframe里去。 如何实现?
我想,当我点链接的时候,在页面中用JS新创建一个隐藏的iframe,然后设置连接的target指向到这个iframe。
可以吗?如何实现?同样,我也想当我点<button>的时候,也新建一个iframe,然后打开一个页面,target指向到iframe同样,我也想当我提交表单的时候submit,也新建一个iframe,把表单提交到隐藏的iframe里去。 如何实现?
解决方案 »
- web
- 两个页面有时候无法输入中文,求高手...如何调试?
- javascript为什么无法识别xml文件的变化
- 如何在js中对文本框要提交的内容进行编码转换(解决马上给分)
- 超简单问题,form的提交问题,解决了马上给分
- 请问这个效果怎么做的?
- 请问在JAVASCRIPT中可不可以对HASH表进行ADD 、REMOVE 等操作?
- 怎样定位层,在800*600上的位置和1024*768上位置保持一致
- 请问alert有些什么参数?
- 为什么老是提示moveElement这个函数没有调用呢
- firefox下document.write输出的内容会单独出现在一个页面上
- firefox下,js不能修改iframe.src
直接用ajax来做这种事情我觉得比你这么做好多了,当然,你的想法是可能实现的。
<a href="x.asp" onClick="LinkClick(this);return false;">1</a>
<input type=button value=2 onClick="ButtonClick('x.asp')">
<form name='myForm' action='x.asp' onSubmit="FormSubmit(this)"></form>js:
var myIframe = document.createElement("IFRAME");
myIframe.name = "myIframe";
function LinkClick(Link)
{
Link.target = myIframe.name;
Link.click();
}
function ButtonClick(Href)
{
myIframe.src=Href;
}
function FormSubmit(Form)
{
Form.target = myIframe.name;
Form.submit();
}
html:
<a href="x.asp" onClick="LinkClick(this);return false;">1 </a>
<input type=button value=2 onClick="ButtonClick('x.asp')">
<form name='myForm' action='x.asp' onSubmit="FormSubmit(this)"> </form> js:
var myIframe;
window.onload=Init;
function Init()
{
myIframe = document.createElement("IFRAME");
myIframe.name = "myIframe";
document.body.appendChild(myIframe);
}
function LinkClick(Link)
{
Link.target = myIframe.name;
Link.click();
}
function ButtonClick(Href)
{
myIframe.src=Href;
}
function FormSubmit(Form)
{
Form.target = myIframe.name;
Form.submit();
}
ajax太垃圾![/b]
围观激动
先去搞清楚什么是同步ajax什么是异步ajax,为什么同步ajax可能会导致卡死
1,页面多一个iframe,客户端与服务器的响应就多了一个 ,好像有人说相当于访问人数还是在线人数多了一个2,iframe会使得浏览器比较卡。3,用户访问这个页面,不一定会去点那个连接,所以我想在当用户点链接的时候 再来加载iframe,减少消耗资源。
oldmht,我跟你说,CSDN前几个月就是大量用ajax 没有掌握熟透,所以导致打开CSDN论坛非常卡。当然高配置电脑感觉不是很明显。但是大量用户还是中低配置的。CSDN 因AJAX导致非常卡,不是我一个人感觉到的。很多人都这样反应。
你不想页面一开始出来一个iframe,你可以在函数里面创建iframe(利用document.createElement("IFRAME"))
但是我要告诉你:
1、window.onload的时候创建一个公用iframe或者页面里面直接写一个iframe更加节约资源
这个iframe不指定src,是不会和服务器联系的
2、1个iframe会是客户端浏览器卡?你是386么?我的手机369M的cpu,用几个iframe都没卡
3、你在用户点击的时候再创建iframe也可以,但是要注意不要每次都创建出一个新的iframe
改一下:
html:
<a href="x.asp" onClick="LinkClick(this);return false;">1 </a>
<input type=button value=2 onClick="ButtonClick('x.asp')">
<form name='myForm' action='x.asp' onSubmit="FormSubmit(this)"> </form> js:
var myIframe;
function CreateIframe()
{
if (myIframe) return;
myIframe = document.createElement("IFRAME");
myIframe.name = "myIframe";
document.body.appendChild(myIframe);
}
function LinkClick(Link)
{
CreateIframe();
Link.target = myIframe.name;
Link.click();
}
function ButtonClick(Href)
{
CreateIframe();
myIframe.src=Href;
}
function FormSubmit(Form)
{
CreateIframe();
Form.target = myIframe.name;
Form.submit();
}
在提交表单方面,ajax比iframe要节约资源,iframe等于开了个新的窗口,新出来的对象多的要命(甚至包括ajax用的对象),另外ajax提交没有讨厌的声音、支持同步提交,提交至iframe的优点是可以上传文件,处理起来简单。等等等等
我测试了你的代码,没用啊。变成新窗口打开了。