Javascript只适用于直接页面加载

时间:2018-02-04 03:26:27

标签: javascript

我有一个Javascript文件,当您直接在浏览器中输入页面地址或从电子邮件中的直接链接等输入时,我可以完美地工作。

但是,如果带有JS的页面是通过同一站点上其他位置的链接打开的,则JS不起作用。例如,我从我的主页链接了该页面,当JS页面加载时,没有任何反应 - 但是,如果我然后刷新页面,它会再次起作用。

非常感谢任何帮助

这是代码 - (它是一个随机图像生成器):

编辑 - 页面地址为www.symmonegordon.com/your-card

<script language="JavaScript">
<!--

/*
Random Image Script- By JavaScript Kit (http://www.javascriptkit.com) 
Over 400+ free JavaScripts here!
Keep this notice intact please
*/
 /*
Make note of the URL and make sure its set correct - IMPORTANT
*/
function random_imglink(){
var symimages=new Array()
//specify random images below. You can have as many as you wish
symimages[1]="01.jpg"
symimages[2]="02.jpg"
symimages[3]="03.jpg"
var ry=Math.floor(Math.random()*symimages.length)
if (ry==0)
ry=1
document.write('<img    src="http://www.mattselley.com/symimages/'+symimages[ry]+'" border=0>')
}
random_imglink()
//-->
</script>

1 个答案:

答案 0 :(得分:0)

为了进一步详细说明SLaks的开始,你绝对应该使用DOM APIS。例如,document.querySelector可能非常适合这里。对于这个假装练习,让我们假设你的页面上有一个“随机图像”类的div。

// You can create arrays on the fly in JS with array literal syntax
var images = [
  "http://www.freedigitalphotos.net/images/img/homepage/golf-1-top-82328.jpg",
  "https://assets.entrepreneur.com/article/1413519079_unsplash-1024x682.jpg",
  "https://images.freeimages.com/images/small-previews/540/dandelion-37-1388001.jpg"
]

function randomImage() {
  var random = Math.floor(Math.random() * images.length)
  var randomImageDiv = document.querySelector('.random-image')
  randomImageDiv.innerHTML = '<img src="' + images[random] + '" />'
}

randomImage()

请查看以下Codepen以进一步说明。