就是点下按钮,就把某网页显示在指定id的div中
在网上和msdn都努力找了,没有答案
我知道这很可能需要ajax,也知道是个有难度的话题
也知道分数给的太低,如果的确有朋友给出了我能用得了的答案,我另开帖给100分(本想直接发100,但是没信心能得到满意的答复)
可以是手写的ajax代码,也可以是在vs2008中的操作步骤
33 个解决方案
#1
涉及ajax 域名跨域问题
如果是同1域名,本地javascript 的 ajax足矣,如果跨域名展示,需要你的服务端做代理 中转一次
如果是同1域名,本地javascript 的 ajax足矣,如果跨域名展示,需要你的服务端做代理 中转一次
#2
iframe 不是干这个的吗?
#4
谢大手回复
只是本站,具体怎么整?
#5
++
#6
++
#7
谢回复
iframe和div还是不一样的
iframe要永久性地占据页面的一块位置
div则可以浮于页面其它内容之上,不占位置,这个特点我是需要的
最终我想要一点按钮就动态生成一个div并居中盖在其它网页内容之上,同时调入一个本站网页
动态生成div我已搞明白,所以 维持本帖顶楼原问。
#8
吧Iframe放到div里。
#9
你在点击时创建一个iframe 在把他赋值给DIV不就行了.
#10
iframe能放div里么?这我倒没想到,如果能,如何动态给iframe调入一个网页呢?
#11
// JavaScript Document
(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)
}
})
#12
ajax返回一个html的代码,到DIV的ID
#13
如何用代码创建iframe并赋值,用代码,一点头绪都没有,能给个代码提示么?不好意思,麻烦你了
#14
谢回复
在网上见过类似的代码,能解释下怎么用么?
我现在是两条思路了,用iframe+div和用ajax
#15
Rayyu.Load.Ajax("html路径",null,"get",function(status,text,xml){
if(status==200){
document.getElementById("div").innerHTML=text
}
})
#16
用jquery
$(iframe).attr('src', locations[++i % len]);
参考这里的答案:
http://*.com/questions/1554396/change-content-in-iframe-with-jquery
#17
谢回复,下面的代码为什么运行点按钮后什么也不显示?
<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所指网页的问题
以上代码要是放是一串普通的文本,也是能显示的
结论:不是代码动态生成有问题
那么是什么问题呢?
#18
谢回复,不想现学jquery了,发现jqery的确很火,不过我以后在学吧
我想先顺着div+iframe的思路下去,毕竟这个已差不多弄通了
#19
引号重复了,转义下 或者改成单引号
#20
ajax就好了,为什么非要iframe呢?iframe对seo的友好性不好。
#21
客户端的ajax 蜘蛛也是爬不到的 呵呵呵
#22
JQuery
$(function(){
$("#yourdivid").load("url");
})
#23
谢回复
对我来说,更重要的是哪个好弄些
ajax的方案优点很多
但是我努力看了许多网页,也有许多朋友回复
并没有一个真正运行通过的
而iframe这个,只差一点点就明白了
#24
请大家关注我17楼的问题
请不要再提出一些不完美的新方案了
请不要再提出一些不完美的新方案了
#25
我早说了呀 ajax不能跨域,你去请求百度 当然不能成功的
#26
第二 本地html是没有ajax权限的 你直接保存代码在本地执行 status是等于0的
ajax必须在 http:// https:// 开头的地址下 不能是file://
ajax必须在 http:// https:// 开头的地址下 不能是file://
#27
不希望提出各种新方案,
主要是因为我的研究水平太有限
一个思路差不多了,再研究另一个,受不了,呵呵
主要是因为我的研究水平太有限
一个思路差不多了,再研究另一个,受不了,呵呵
#28
谢回复
但这回你说错了,呵呵
我上面提到了
如果我用静态写好的div里放入iframe,就能在iframe中调入百度,而动态生成的div就不行,这是为什么?
#29
各位仁兄回答的都有和这个小姑娘一样的效果,可惜你们都所问非所答啊,往div中显示html我要是没有记错的话,先获取div的dom引用,然后设置它的innerHTML属性就可以了啊,这个属性的值就是html内容的字符串,例如:
document.getElementById("myDivID").innerHTML="<HTML>......</HTML>";
大概的思路就是这样,语法不定对哈,如果我说的不对兄弟们告诉我一下哈O(∩_∩)O~
document.getElementById("myDivID").innerHTML="<HTML>......</HTML>";
大概的思路就是这样,语法不定对哈,如果我说的不对兄弟们告诉我一下哈O(∩_∩)O~
#30
因为你引号没处理好啊 win3.innerHTML = "<iframe src="http://www.baidu.com" name="window"></iframe>"
改成
win3.innerHTML = "<iframe src='http://www.baidu.com' name='window'></iframe>"
改成
win3.innerHTML = "<iframe src='http://www.baidu.com' name='window'></iframe>"
#31
其实很简单,用jquery写的
引用jquery.js就可以了
代码参考:
引用jquery.js就可以了
代码参考:
$.post
(
'url',//url=www.baidu.com
{参数名:'值',参数名:'值'},//传值
function(data)
{
$("#divID").html(data);//divID的属性id名称
}
);
#32
谢大手回复
大家说了半天的问题这么简单?
我试试哈
#33
用div+iframe也很简单啊!
<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>
<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>
#1
涉及ajax 域名跨域问题
如果是同1域名,本地javascript 的 ajax足矣,如果跨域名展示,需要你的服务端做代理 中转一次
如果是同1域名,本地javascript 的 ajax足矣,如果跨域名展示,需要你的服务端做代理 中转一次
#2
iframe 不是干这个的吗?
#3
#4
谢大手回复
只是本站,具体怎么整?
#5
++
#6
++
#7
谢回复
iframe和div还是不一样的
iframe要永久性地占据页面的一块位置
div则可以浮于页面其它内容之上,不占位置,这个特点我是需要的
最终我想要一点按钮就动态生成一个div并居中盖在其它网页内容之上,同时调入一个本站网页
动态生成div我已搞明白,所以 维持本帖顶楼原问。
#8
吧Iframe放到div里。
#9
你在点击时创建一个iframe 在把他赋值给DIV不就行了.
#10
iframe能放div里么?这我倒没想到,如果能,如何动态给iframe调入一个网页呢?
#11
// JavaScript Document
(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)
}
})
#12
ajax返回一个html的代码,到DIV的ID
#13
如何用代码创建iframe并赋值,用代码,一点头绪都没有,能给个代码提示么?不好意思,麻烦你了
#14
谢回复
在网上见过类似的代码,能解释下怎么用么?
我现在是两条思路了,用iframe+div和用ajax
#15
Rayyu.Load.Ajax("html路径",null,"get",function(status,text,xml){
if(status==200){
document.getElementById("div").innerHTML=text
}
})
#16
用jquery
$(iframe).attr('src', locations[++i % len]);
参考这里的答案:
http://*.com/questions/1554396/change-content-in-iframe-with-jquery
#17
谢回复,下面的代码为什么运行点按钮后什么也不显示?
<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所指网页的问题
以上代码要是放是一串普通的文本,也是能显示的
结论:不是代码动态生成有问题
那么是什么问题呢?
#18
谢回复,不想现学jquery了,发现jqery的确很火,不过我以后在学吧
我想先顺着div+iframe的思路下去,毕竟这个已差不多弄通了
#19
引号重复了,转义下 或者改成单引号
#20
ajax就好了,为什么非要iframe呢?iframe对seo的友好性不好。
#21
客户端的ajax 蜘蛛也是爬不到的 呵呵呵
#22
JQuery
$(function(){
$("#yourdivid").load("url");
})
#23
谢回复
对我来说,更重要的是哪个好弄些
ajax的方案优点很多
但是我努力看了许多网页,也有许多朋友回复
并没有一个真正运行通过的
而iframe这个,只差一点点就明白了
#24
请大家关注我17楼的问题
请不要再提出一些不完美的新方案了
请不要再提出一些不完美的新方案了
#25
我早说了呀 ajax不能跨域,你去请求百度 当然不能成功的
#26
第二 本地html是没有ajax权限的 你直接保存代码在本地执行 status是等于0的
ajax必须在 http:// https:// 开头的地址下 不能是file://
ajax必须在 http:// https:// 开头的地址下 不能是file://
#27
不希望提出各种新方案,
主要是因为我的研究水平太有限
一个思路差不多了,再研究另一个,受不了,呵呵
主要是因为我的研究水平太有限
一个思路差不多了,再研究另一个,受不了,呵呵
#28
谢回复
但这回你说错了,呵呵
我上面提到了
如果我用静态写好的div里放入iframe,就能在iframe中调入百度,而动态生成的div就不行,这是为什么?
#29
各位仁兄回答的都有和这个小姑娘一样的效果,可惜你们都所问非所答啊,往div中显示html我要是没有记错的话,先获取div的dom引用,然后设置它的innerHTML属性就可以了啊,这个属性的值就是html内容的字符串,例如:
document.getElementById("myDivID").innerHTML="<HTML>......</HTML>";
大概的思路就是这样,语法不定对哈,如果我说的不对兄弟们告诉我一下哈O(∩_∩)O~
document.getElementById("myDivID").innerHTML="<HTML>......</HTML>";
大概的思路就是这样,语法不定对哈,如果我说的不对兄弟们告诉我一下哈O(∩_∩)O~
#30
因为你引号没处理好啊 win3.innerHTML = "<iframe src="http://www.baidu.com" name="window"></iframe>"
改成
win3.innerHTML = "<iframe src='http://www.baidu.com' name='window'></iframe>"
改成
win3.innerHTML = "<iframe src='http://www.baidu.com' name='window'></iframe>"
#31
其实很简单,用jquery写的
引用jquery.js就可以了
代码参考:
引用jquery.js就可以了
代码参考:
$.post
(
'url',//url=www.baidu.com
{参数名:'值',参数名:'值'},//传值
function(data)
{
$("#divID").html(data);//divID的属性id名称
}
);
#32
谢大手回复
大家说了半天的问题这么简单?
我试试哈
#33
用div+iframe也很简单啊!
<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>
<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>