使用javascript更改页面标题

时间:2011-12-08 21:27:31

标签: javascript ajax

function changeTitle(title) 
{ 
document.title = title;
}

function result()
{
    var fetchTitle;
    fetchTitle = new ActiveXObject("Microsoft.XMLHTTP");
    fetchTitle.open("GET", "title.php", true);
    fetchTitle.send(null);
}

setInterval('changeTitle(result())', 1000);//check every second for update

title.php

<?php echo "This is a new title"; ?>

它似乎没有改变标题。我错过了什么才能显示title.php

谢谢。

2 个答案:

答案 0 :(得分:3)

  

我错过了什么

很多事情

  1. 你的changeTitle函数希望传递一个参数(一个字符串),你总是传递result的返回值,它总是undefined,因为result没有{{1}声明。
  2. 您正在使用IE 6/7 ActiveX方法来代替现代,标准,跨浏览器兼容的方法
  3. 您没有分配return事件处理程序,因此您对从XMLHttpRequest对象返回的数据不执行任何操作
  4. 您正在制作异步请求,但您的方法似乎是基于同步请求,因此也会因此而失败(请注意,同步请求将锁定页面,应避免使用)。
  5. 我建议阅读an introduction to XMLHttpRequest

答案 1 :(得分:0)

这里有几个问题。首先,您应该使用更强大的AJAX实现。我建议使用像JQuery这样的库,而不是尝试像这样编写自己的实现,以使脚本在尽可能多的浏览器中保持可靠和一致。

其次,你的结果函数实际上永远不会从响应中返回值,因此你的changeTitle函数永远不会接收任何实际数据。