我是javascript的新手,我的脚本旨在显示一个图像或另一个图像,有50/50的机会。它在safari中工作但在firefox中没有,这为我正在设计的网站削减了太多客户。
任何帮助将不胜感激,特别是如果有人可以说如何确保它适用于所有浏览器。否则我可以弄清楚如何让它在firefox或其他一些组合中忽略它。
var randomnumber=Math.floor(Math.random()*2)
if (randomnumber > 0)
{
document.write("<img src="Easter.jpg">");
}
else
{
document.write("<img src="StPatrick.jpg">");
}
哦,实际代码有&amp;问:而不是“它需要在哪里,以防你想知道它是否使它不起作用。它确实在safari中工作 - 只是不在firefox或camino。
答案 0 :(得分:2)
你需要逃避内部引号:
if (randomnumber > 0)
{
document.write("<img src=\"Easter.jpg\">");
}
else
{
document.write("<img src=\"StPatrick.jpg\">");
}
在由"
终止的字符串中,如果要插入双引号,则需要在其前面加\
来“转义”它
编辑:我刚刚看到您的编辑,其中您说实际代码中包含"
。如果你的代码是:
document.write("<img src="Easter.jpg">");
那不行。它会写字:
<img src="Easter.jpg">
将"
更改为\"
答案 1 :(得分:2)
尝试
var randomnumber=Math.floor(Math.random()*2)
if (randomnumber > 0) {
document.write("<img src='Easter.jpg' />");
}
else {
document.write("<img src='StPatrick.jpg' />");
}
您可能想要考虑使用document.write()
的不同策略,可能使用new Image()
创建元素并将其附加到DOM。
答案 2 :(得分:0)
您的报价需要修复。你需要在document.wrote语句中使用嵌套引号,但是你对外引号和内引号使用相同的引号。
当浏览器看到第二个双引号时,它会关闭它正在构建的字符串,因此您会得到一个包含<img src=
的字符串
HTML支持单引号和双引号,因此您可以替换它们以避免此问题。或者,你逃脱了内在的引语,但这更难以阅读;通常只需要交替的单引号和双引号。
更改
document.write("<img src="Easter.jpg">")
到
document.write("<img src='Easter.jpg'>")