简体   繁体   English

从HTML页面的URL获取文档对象

[英]Getting a document Object from url of an html page

I`am working on a js file which was designed for a home page. 我正在处理为主页设计的js文件。 I would like to navigate from this page to other pages via a navigation menu bar. 我想通过导航菜单栏从该页面导航到其他页面。 The target pages are sharing the same templat(a html code), thus for going to a specific page I need to load a specific content, which is saved in a xml file, then pass its contents to the target page. 目标页面共享相同的模板(HTML代码),因此,要转到特定页面,我需要加载特定内容,该内容保存在xml文件中,然后将其内容传递给目标页面。

function loadFileToElement(filename, elementId)
{
  var xhr = new XMLHttpRequest();
  try
  {
    xhr.open("GET", filename, false);
    xhr.send(null);
  }
  catch (e) {
    window.alert("Unable to load the requested file.");
   }
  // Until this point I can load the specific content
  // How can I get from the url of the target page
  // a js document object, so that I can call getElementById(Id)
  // to pass the specific content.
  // For instance: Im currently opnening X1:= www.main.com 
  // und I would like to switch to X2 := www.targetpage.com 
  // target page which contains html the templat.
  //  The problem **document** represents currently X1
  // but i would like to set it to X2 so that I can pass
  // the content of xhr.responseText to it
  var component = **document**.getElementById(elementId);
  component.innerHTML = xhr.responseText;
  } 

Thanks

Try this, I have added xhr.onload function, which populated text returned from response 试试这个,我添加了xhr.onload函数,该函数填充了响应返回的文本

function loadFileToElement(filename, elementId)
{
    var xhr = new XMLHttpRequest();
    try
    {
        xhr.open("GET", filename, false);
        xhr.onload = function () {
            var component = document.getElementById(elementId);
            component.innerHTML = xhr.responseText;
        }
        xhr.send(null);
    }
    catch (e) {
        window.alert("Unable to load the requested file.");
    }
} 

You can also use onreadystatechange event instead of onload . 您还可以使用onreadystatechange事件代替onload click for more reference 点击获取更多参考

Try this 尝试这个

function loadFileToElement(filename, elementId)
{
    var xhr = new XMLHttpRequest();
    try
    {
        xhr.open("GET", filename, false);
        xhr.onload = function () {
            var com = document.getElementById(elementId);
            com.innerHTML = xhr.responseText;
        }
        xhr.send();
    }
    catch (e) {
        window.alert("Unable to load the requested file.");
    }
} 

Reference 参考

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM