2012-08-14 74 views
8

如何使用javascript查看已加载页面的页面标题。使用javascript访问当前页面的页面标题[no ajax]

有什么事,我可以执行

e.g. window.pageHeaders['session'] 

注:我不是在谈论一个Ajax页面加载。

+1

你是在谈论header-tag的内容头或者javascript表示,还是头标签包含什么? – fredrik 2012-08-14 10:52:30

+0

您可以通过[服务人员](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)执行此操作,但[支持不良](http://caniuse.com /#feat = serviceworkers)。 – 2016-04-21 01:24:00

回答

3

看看这个jsfiddle

从这个链接question

Raja的这个答案将获得当前页面的页面标题。

var req = new XMLHttpRequest(); 
req.open('GET', document.location, false); 
req.send(null); 
var headers = req.getAllResponseHeaders().toLowerCase(); 
alert(headers); 
+0

这有效,但这是什么,它使一个额外的Ajax调用。我怎样才能得到HTTP头没有额外的Ajax调用? – 2012-08-14 11:39:54

+0

@PrakashRaman你使用任何服务器端语言?您可以将标题设置为一个JavaScript变量。 – Undefined 2012-08-14 12:24:47

+0

这就是我现在正在做的,这是我的最后一招。希望有另一种方式。顺便说一句我正在使用PHP – 2012-08-14 13:31:55

0

你在做这样的事吗?请向我们展示示例实现。

<!--Save Headers--> 
    <?php $currentHeaders = json_encode(getallheaders()); ?> 

    <!--Create Output Container--> 
    <div id="output"></div> 

    <!--Show Headers--> 
    <button onclick="showheaders()">show headers</button> 

    <!--Javascript Ugliness--> 
    <script> 
     function showheaders(){ 
     var headers = <?php echo $currentHeaders; ?>; 

     // Collect your goodies here eg: var goodies = headers['proxy-authenticate']; 
     console.log("Headers", headers); 

     // See the output on screen? 
     var output = document.getElementById('output'); 
      output.innerHTML = JSON.stringify(headers); 
     } 
    </script>