我的网站上有关于标题标记<title></title>
的问题。我想将它连接到数据库,以便我的网页标题的价值来自数据库,它的工作原理。但是当我想让我的网页标题(不是整页)自动刷新时,又出现了另一个问题。我找到了来自ajax的脚本,但它并没有真正成功,就像在facebook标签中一样,只是假设,我从另一个浏览器(即Opera等)输入新数据,然后我回到我的主浏览器(Firefox)标题标记根本不会更改,或者不会自动刷新并更改值。我真的需要你帮助的人..!?这是我试过的剧本..
setInterval(function() {
$.ajax({
url: '{BASE_URL}/system/back-end/main.php',
url: 'main.html',
//data: {name: 'username', password: 'userpass'},
success: function() { document.title = '$value';},
dataType: 'text'
});
}, 1000);
function getXHR() {
if (window.XMLHttpRequest) {
// Chrome, Firefox, IE7+, Opera, Safari
return new XMLHttpRequest();
}
// IE6
try {
// The latest stable version. It has the best security, performance,
// reliability, and W3C conformance. Ships with Vista, and available
// with other OS's via downloads and updates.
return new ActiveXObject('MSXML2.XMLHTTP.6.0');
} catch (e) {
try {
// The fallback.
return new ActiveXObject('MSXML2.XMLHTTP.3.0');
} catch (e) {
alert('This browser is not AJAX enabled.');
return null;
}
}
}
function setPageTitle(newValue) {
document.title = '$value';
}
function messageCountAsPageTitle(msgCount) {
// TODO: determine where 'another text in the page title' should be defined
msgCount = '{PESAN_ENTRY} {BERKAS} {BERKAS}';
setPageTitle('(' + msgCount + ') - another text in the page title');
}
<!--</tpl:tmpl>
function getMessageCount(callback) {
var url = 'main.html?' + 'main.php?' + (new Date()).getTime(), // prevent caching
xhr = getXHR();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
callback(xhr.responseText);
}
};
xhr.timeout = 2000; // Set the timeout to be less than the frequency we call this
xhr.open("GET", url, true);
xhr.send();
}
setInterval(function() {getMessageCount(messageCountAsPageTitle);}, 3000);
请帮帮忙?
答案 0 :(得分:0)
如果您正在使用jQuery(最高$ .ajax()调用),那么您应该只使用它,而不是底部。确保在HTML源代码中包含jQuery(关于如何执行此操作的google jQuery)
您需要创建一个返回新标题的php文件。
// script.php
echo 'My New Title';
exit();
然后在源代码中使用jQuery访问新标题:
setInterval(function() {
$.ajax({
url: 'http://UrlToGetTheTitleFrom/script.php',
success: function(data) { document.title = data; },
dataType: 'text'
});
}, 10000);
(注意:SetInterval每秒都有1000个 - 这是毫秒。很确定你不希望它快速锤击你的服务器!)