如何在div中显示指定的网页就是点下按钮,就把某网页显示在指定id的div中
在网上和msdn都努力找了,没有答案我知道这很可能需要ajax,也知道是个有难度的话题也知道分数给的太低,如果的确有朋友给出了我能用得了的答案,我另开帖给100分(本想直接发100,但是没信心能得到满意的答复)可以是手写的ajax代码,也可以是在vs2008中的操作步骤
在网上和msdn都努力找了,没有答案我知道这很可能需要ajax,也知道是个有难度的话题也知道分数给的太低,如果的确有朋友给出了我能用得了的答案,我另开帖给100分(本想直接发100,但是没信心能得到满意的答复)可以是手写的ajax代码,也可以是在vs2008中的操作步骤
http://www.w3schools.com/tags/tag_iframe.asp
iframe和div还是不一样的
iframe要永久性地占据页面的一块位置
div则可以浮于页面其它内容之上,不占位置,这个特点我是需要的
最终我想要一点按钮就动态生成一个div并居中盖在其它网页内容之上,同时调入一个本站网页
动态生成div我已搞明白,所以维持本帖顶楼原问。
(function(){
var d=document,w=window,a={
Load: {
AjaxDom:function(){
var xmlhttp;
try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")}catch (e1){
try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")}catch (e2){xmlhttp = null}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {xmlhttp = new XMLHttpRequest()} catch (e){xmlhttp=null}
}
if (!xmlhttp && w.createRequest) {
try {xmlhttp = w.createRequest()} catch (e) { xmlhttp=null}
}
return xmlhttp
},
AjaxAbort:function(obj){
try{obj.abort()}catch(e){}
try{obj=null}catch(e){}
return null
},
Ajax:function(url,value,getorpost,callback,cannelajax){
var L=a.Load;
if(cannelajax){L.AjaxAbort(cannelajax)}
getorpost = getorpost.toLowerCase();
var doc=L.AjaxDom();
if (doc==null){
return null
}
doc.onreadystatechange=function(){
if (doc.readyState==4){
if(callback && typeof(callback)=="function"){
(function(){
try{callback(doc.status,doc.responseText,doc.responseXML)}catch(e0){}
try{doc.abort()}catch(e1){}
doc=null
})()
}
}
},
doc.open(getorpost,url,true),
doc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
if(getorpost=="post"){
doc.send(value)
}
else{
doc.send(null)
}
return doc
}
}
};w["Rayyu"]=a
})();调用Rayyu.Load.Ajax("html路径",null,"get",function(status,text,xml){
if(status==200){
alert(text)
}
})
在网上见过类似的代码,能解释下怎么用么?
我现在是两条思路了,用iframe+div和用ajax
Rayyu.Load.Ajax("html路径",null,"get",function(status,text,xml){
if(status==200){
document.getElementById("div").innerHTML=text
}
})
用jquery
$(iframe).attr('src', locations[++i % len]);参考这里的答案:
http://stackoverflow.com/questions/1554396/change-content-in-iframe-with-jquery
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 4</title>
</head><body>
<script>
function bbb()
{
var str = document.createElement("div");
str.id = "win3";
str.contentEditable = "true";
str.className = "xWin";
str.style.position = "absolute";
str.style.setAttribute("left","100px");
str.style.setAttribute("top","50px");
str.style.setAttribute("width","100px");
str.style.setAttribute("height","100px");
str.style.setAttribute("z-index","1");
str.style.setAttribute("border","2px solid red");
document.body.appendChild(str);
win3.innerHTML = "<iframe src="http://www.baidu.com" name="window"></iframe>"
}
</SCRIPT>
<input value="动态生成" type="button" onClick="bbb();" >
</body></html>注:
我试过,在不是动态生成的div中的iframe中是可以显示baidu页面的
iframe放进这个动态生成的div后就不显示baidu了
结论:不是iframe中src所指网页的问题
以上代码要是放是一串普通的文本,也是能显示的
结论:不是代码动态生成有问题那么是什么问题呢?
我想先顺着div+iframe的思路下去,毕竟这个已差不多弄通了
$("#yourdivid").load("url");
})
对我来说,更重要的是哪个好弄些
ajax的方案优点很多
但是我努力看了许多网页,也有许多朋友回复
并没有一个真正运行通过的
而iframe这个,只差一点点就明白了
但这回你说错了,呵呵
我上面提到了
如果我用静态写好的div里放入iframe,就能在iframe中调入百度,而动态生成的div就不行,这是为什么?
document.getElementById("myDivID").innerHTML="<HTML>......</HTML>";大概的思路就是这样,语法不定对哈,如果我说的不对兄弟们告诉我一下哈O(∩_∩)O~
改成
win3.innerHTML = "<iframe src='http://www.baidu.com' name='window'></iframe>"
引用jquery.js就可以了代码参考:
$.post
(
'url',//url=www.baidu.com
{参数名:'值',参数名:'值'},//传值
function(data)
{
$("#divID").html(data);//divID的属性id名称
}
);
<html>
<body>
<script language="javascript">
function chgdiv()
{
document.getElementById("if1").src=txt1.value;
}
</script>
<input type="button" value="改变div显示网页" onclick="chgdiv()" title="多美乐工作室"><input type="text" title="多美乐工作室" name="txt1" value="http://duomeile.f3322.org" size="110">
<div title="多美乐工作室"><iframe id="if1" src="http://www.baidu.com" width="800" height="800"></iframe></div>
</body>
</html>