我刚刚了解到(多亏了IE)我不能在XHTML语言中使用document.write脚本。但是,似乎有一种方法可以通过使用DOM添加元素来绕过它。我不知道。这对我来说是陌生的。
下面是JS:
copyright=new Date();
update=copyright.getFullYear();
document.write("Copyright © 2004-"+ update + " flip-flop media");那么,有没有办法在XHTML中使用这个脚本呢?IE 8显示一个带有错误警告的空格。IE 7只显示了警告。FF可以正确地显示它。
并且它在我的一个页面上显示得很好,没有任何错误:http://clients.flipflopmedia.com
但不在主页上:http://www.flipflopmedia.com/NewSite/index.html
发布于 2010-03-03 21:04:12
回答您的问题:将附加一个版权声明作为页面上的最后一个元素。
(function(){
// create almost any element this way...
var el = document.createElement("div");
// add some text to the element...
el.innerHTML = "Copyright © 2004-"+ (new Date).getFullYear() + " flip-flop media";
// "document.body" can be any element on the page.
document.body.appendChild(el);
}());您可以随时将"document.body“更改为您想要使用的任何元素。例如document.getElementById("copyright").appendChild(el);
jQuery
页面上已经有了jQuery。所以只需使用:
$(function(){
// "body" is a css selector.
// you can use almost any css selector
// to find the element you need. e.g. $("#copyright")...
$("body").append("Copyright © 2004-"+ (new Date).getFullYear() + " flip-flop media");
// you can also use html() to replace the existing content.
// $("#copyright").html("content goes here");
});你应该做什么:
使用服务器端技术,如php、.net等。
您可能正在服务器上运行php,这意味着以下代码应该可以在页面中的任何位置运行(当然,如果它有php扩展名(当然是index.php而不是index.html) ):
<?php
echo 'copyright © 2004-' + date("Y") . ' flip-flop media';
?>发布于 2010-03-03 20:59:01
看一看jQuery,它将允许您以一种更容易的方式修改DOM。例如,您可以只执行$('#copyrightElement').html("Copyright © 2004-" + update + " flip-flop media");,而不是document.write行
或者,如果你更喜欢普通的Javascript,你可以这样做:
document.getElementById('copyrightElement').innerHTML = "Copyright © 2004-" + update + " flip-flop media";其中包含页脚文本的div/span/p/被分配了一个id="copyrightElement"属性。
但是,我建议在后端使用脚本语言(不确定您的网站使用什么)。禁用了Javascript的用户将看不到您的版权声明。
发布于 2010-03-03 23:43:37
修好了。我找到了一篇文章,我不明白它为什么会起作用,但我对JS所做的一切如下:
在脚本开始之前(添加)://
在末尾(添加)://]]>
我之前已经尝试过了,但这篇文章误导了我,因为它在开头添加了以下内容:
带有CDATA标记的完整脚本:
//
https://stackoverflow.com/questions/2371326
复制相似问题