如何在div中显示指定的网页就是点下按钮,就把某网页显示在指定id的div中
在网上和msdn都努力找了,没有答案我知道这很可能需要ajax,也知道是个有难度的话题也知道分数给的太低,如果的确有朋友给出了我能用得了的答案,我另开帖给100分(本想直接发100,但是没信心能得到满意的答复)可以是手写的ajax代码,也可以是在vs2008中的操作步骤

解决方案 »

  1.   

    涉及ajax 域名跨域问题如果是同1域名,本地javascript 的 ajax足矣,如果跨域名展示,需要你的服务端做代理 中转一次
      

  2.   

    IFrame
    http://www.w3schools.com/tags/tag_iframe.asp
      

  3.   

    谢回复
    iframe和div还是不一样的
    iframe要永久性地占据页面的一块位置
    div则可以浮于页面其它内容之上,不占位置,这个特点我是需要的
    最终我想要一点按钮就动态生成一个div并居中盖在其它网页内容之上,同时调入一个本站网页
    动态生成div我已搞明白,所以维持本帖顶楼原问
      

  4.   

    你在点击时创建一个iframe 在把他赋值给DIV不就行了.
      

  5.   

    iframe能放div里么?这我倒没想到,如果能,如何动态给iframe调入一个网页呢?
      

  6.   

    // 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)
    }
    })
      

  7.   

    ajax返回一个html的代码,到DIV的ID
      

  8.   

    如何用代码创建iframe并赋值,用代码,一点头绪都没有,能给个代码提示么?不好意思,麻烦你了
      

  9.   

    谢回复
    在网上见过类似的代码,能解释下怎么用么?
    我现在是两条思路了,用iframe+div和用ajax
      

  10.   


    Rayyu.Load.Ajax("html路径",null,"get",function(status,text,xml){
        if(status==200){
            document.getElementById("div").innerHTML=text
        }
    })
      

  11.   


    用jquery
    $(iframe).attr('src', locations[++i % len]);参考这里的答案:
    http://stackoverflow.com/questions/1554396/change-content-in-iframe-with-jquery
      

  12.   

    谢回复,下面的代码为什么运行点按钮后什么也不显示?
    <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所指网页的问题
    以上代码要是放是一串普通的文本,也是能显示的
    结论:不是代码动态生成有问题那么是什么问题呢?
      

  13.   

    谢回复,不想现学jquery了,发现jqery的确很火,不过我以后在学吧
    我想先顺着div+iframe的思路下去,毕竟这个已差不多弄通了
      

  14.   

    ajax就好了,为什么非要iframe呢?iframe对seo的友好性不好。
      

  15.   

    客户端的ajax 蜘蛛也是爬不到的 呵呵呵
      

  16.   

    JQuery$(function(){
        $("#yourdivid").load("url");
    })
      

  17.   

    谢回复
    对我来说,更重要的是哪个好弄些
    ajax的方案优点很多
    但是我努力看了许多网页,也有许多朋友回复
    并没有一个真正运行通过的
    而iframe这个,只差一点点就明白了
      

  18.   

    我早说了呀 ajax不能跨域,你去请求百度 当然不能成功的
      

  19.   

    第二 本地html是没有ajax权限的 你直接保存代码在本地执行 status是等于0的ajax必须在 http://  https:// 开头的地址下  不能是file://
      

  20.   

    谢回复
    但这回你说错了,呵呵
    我上面提到了
    如果我用静态写好的div里放入iframe,就能在iframe中调入百度,而动态生成的div就不行,这是为什么?
      

  21.   

    各位仁兄回答的都有和这个小姑娘一样的效果,可惜你们都所问非所答啊,往div中显示html我要是没有记错的话,先获取div的dom引用,然后设置它的innerHTML属性就可以了啊,这个属性的值就是html内容的字符串,例如:
    document.getElementById("myDivID").innerHTML="<HTML>......</HTML>";大概的思路就是这样,语法不定对哈,如果我说的不对兄弟们告诉我一下哈O(∩_∩)O~
      

  22.   

    因为你引号没处理好啊 win3.innerHTML = "<iframe src="http://www.baidu.com" name="window"></iframe>"
    改成 
    win3.innerHTML = "<iframe src='http://www.baidu.com' name='window'></iframe>"
      

  23.   

    其实很简单,用jquery写的
    引用jquery.js就可以了代码参考:
    $.post
    (
    'url',//url=www.baidu.com
    {参数名:'值',参数名:'值'},//传值
    function(data)
    {
        $("#divID").html(data);//divID的属性id名称
    }
    );
      

  24.   

    用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>