Javascript 替换a<;部门>;使用另一个带有.innerHTML的html页面?

Javascript 替换a<;部门>;使用另一个带有.innerHTML的html页面?,javascript,html,css,Javascript,Html,Css,我目前正在从事一个项目,该项目允许在单击指向不同网页的链接时,将不同的网页加载到我页面中的,我已经阅读了下面的线程,但我不知道如何执行jquery,我想知道这些网页是否可以加载.innerHTML?有没有办法只使用css、javascript和html 基本上,我想要的是类似于w3.includeHTML()的东西,在其中,整个页面加载并显示自己,而不是在一个框架内,而是作为页面的一部分 这里是指向我的项目文件的链接,使用的主要html页面是index.html,要链接的html页面是grea

我目前正在从事一个项目,该项目允许在单击指向不同网页的链接时,将不同的网页加载到我页面中的
,我已经阅读了下面的线程,但我不知道如何执行jquery,我想知道这些网页是否可以加载.innerHTML?有没有办法只使用css、javascript和html

基本上,我想要的是类似于w3.includeHTML()的东西,在其中,整个页面加载并显示自己,而不是在一个框架内,而是作为页面的一部分

这里是指向我的项目文件的链接,使用的主要html页面是index.html,要链接的html页面是greatwallofchina.html:


很简单-只需在单击链接时调用javascript函数并加载html,如下所示

$("#divid").load('path of file')

您可以尝试在div中加载页面,如下所示

使用JAVASCRIPT::

<div id="result">
</div>

<script type="text/javascript">
function myFunction() {
document.getElementById("result").innerHTML = '<object type="text/html" data="/path/of/htmlpage.html" ></object>';
}
<script>
这样做:

不确定这些“链接”的格式如果你有权访问它们,那么你可以使用以下几种方法之一

使用HTML和以下Java脚本(JS)的任何变体

HTML

<iframe id="myFrameID" src="" width="0px" height="0px" style="display:hidden;visibility: hidden"></iframe>
<div id="myPageViewerDIV"></div>
JS与任何链接

$('a[href="formatoflinkhere"]').click(function () { 
    $("#myFrameID").attr("src", $("a:focus").attr("href"));
    $("#myFrameID").bind('load', function() { $("#myPageViewerDIV").html($("#myFrameID").contentDocument); });
    return false;
});
$('a').click(function () { 
    $("#myFrameID").attr("src", $("a:focus").attr("href"));
    $("#myFrameID").bind('load', function() { $("#myPageViewerDIV").html($("#myFrameID").contentDocument); });
    return false;
});
JS包含除id(散列符号)以外的任何链接

您或其他用户可以添加到此^^/'

它的作用是:

  • 创建隐藏的不可见IFrame
  • 使用onclick事件处理程序绑定所有链接(或变量类型) (返回false,因此不浏览链接
  • 将链接加载到源中
  • 绑定到iframe的已加载事件
  • 将iframe的根文档复制到您选择的位置
  • TL;DR


    未测试,理论上应该可以工作。

    如果您想在另一个html中显示另一个html,请使用object元素,您可以使用innerHTML来实现。下面是每个链接的两个函数,一个加载一个页面,另一个加载第二个页面。另一个选项要求您发布样式表 希望有帮助。此解决方案的更新是删除额外的滚动条

    <script type="text/javascript">
    function nextpage(){
    document.getElementById('pageContent').innerHTML = "<object style=\"overflow:hidden; width: 99.25%; height: 101%\" width=\"100%\" height=\"101%\" data=\"http://localhost/test/page1.php\"></object>" ;
    }
    function nextpageb(){
    document.getElementById('pageContent').innerHTML = "<object style=\"overflow:hidden; width: 99.25%; height: 101%\" width=\"100%\" height=\"101%\"  data=\"http://localhost/test/page2.php\"></object>" ;
    }
    </script>
    </head>
    <body style="float:left; overflow:hidden; width: 100%; height: 101%">
    <nav>
    <h2 class="hidden">Our navigation</h2>
    <ul>
    <li><a onclick="nextpage();">Home</a></li>
    <li><a onclick="nextpageb();">Contact</a></li>
    </ul>
    </nav>
    <div id="pageContent">Hello motto </div>
    
    
    函数下一页(){
    document.getElementById('pageContent')。innerHTML=“”;
    }
    函数nextpageb(){
    document.getElementById('pageContent')。innerHTML=“”;
    }
    我们的航行
    
    • 接触
    你好座右铭
    可能是您可以使用fame标记进行此操作是的,您可以使用加载数据的AJAX,并在页面中使用
    .innerHTML
    进行设置。您也可以使用新的api,但它还没有得到很好的支持,需要一个新的api。@NavankurChauhan标记的问题是,它无法在html5中工作,并且可能无法正常运行n个使用它的浏览器。没有太多变化。只需知道其他html页面的id或类将您的设计更改放入样式标记或使用javascript,但不要忘记给出“!重要”,这样您可以切换到其他html页面。请注意,如果其他网页不在同一个域中,您可能会遇到问题。他正在尝试使用jquery来执行此操作。OP正在尝试避免使用jquery。您的答案与已被否决的答案没有显著差异。添加了Js等效项。如果您购买st your style.嗨,虽然我可以将网页放入页面,但结果并不像我预期的那样好。下面是我的意思:正如你所看到的,网页已经实现,但它只在自己的框架内滚动页面,所以你只需要一个滚动条而不是两个滚动条,对吗?
    $('a[href!=#]').click(function () { 
        $("#myFrameID").attr("src", $("a:focus").attr("href"));
        $("#myFrameID").bind('load', function() { $("#myPageViewerDIV").html($("#myFrameID").contentDocument); });
        return false;
    });
    
    <script type="text/javascript">
    function nextpage(){
    document.getElementById('pageContent').innerHTML = "<object style=\"overflow:hidden; width: 99.25%; height: 101%\" width=\"100%\" height=\"101%\" data=\"http://localhost/test/page1.php\"></object>" ;
    }
    function nextpageb(){
    document.getElementById('pageContent').innerHTML = "<object style=\"overflow:hidden; width: 99.25%; height: 101%\" width=\"100%\" height=\"101%\"  data=\"http://localhost/test/page2.php\"></object>" ;
    }
    </script>
    </head>
    <body style="float:left; overflow:hidden; width: 100%; height: 101%">
    <nav>
    <h2 class="hidden">Our navigation</h2>
    <ul>
    <li><a onclick="nextpage();">Home</a></li>
    <li><a onclick="nextpageb();">Contact</a></li>
    </ul>
    </nav>
    <div id="pageContent">Hello motto </div>
    
    $(document).ready( function() {
            $("#yourLinkId").on("click", function() {
                $("#YourDiv").load("../pages/PageYouWantToShow.html");
            });
        });