[英]why this script won't work?
好吧,我需要的是一個腳本,其工作原理如下:
每次打開頁面時, iframe
都必須選擇50個鏈接中的1個以盡可能隨機顯示。 現在,我做了一些研究,並制作了以下腳本。 它適用於JS(dot)DO,但不適用於jsbin,當我嘗試使用Chrome時,它將無法使用。 因此,我需要一些幫助,希望有人可以幫助我!
<iframe id="frame"></iframe>
<script>
(function() {
var e = document.getElementById('frame'),
f = function( el, url ) {
el.src = url;
},
urls = [
'link1',
// all links 1/50
'link50'],
i = 0,
l = urls.length;
f( e, urls[Math.round(Math.random()*50)] );
})();
</script>
(對不起,英語不好,這不是我的主要語言
嗯,首先,由於瀏覽器安全性的限制,您不能簡單地在<iframe>
打開任何鏈接。 您可以在如何在iframe中顯示google.com上了解更多信息。 。
現在讓我們談談代碼本身。
<iframe id="frame"></iframe>
<script>
(function() {
var e = document.getElementById('frame'),
f = function( el, url ) {
el.src = url;
},
urls = [
'link1',
// all links 1/50
'link50'],
i = 0,
l = urls.length;
f( e, urls[Math.round(Math.random()*50)] );
})();
</script>
為什么要設置i
變量? 您無需在代碼中使用它,而是可以將其刪除。 如果您有l
為什么將Math.random()
乘以50
。 將它乘以l
會更方便。 考慮以下示例:
<div id="divID"></div>
<script type="text/javascript">
var e = document.getElementById('divID'),
f = function( el, url ) {
el.innerHTML = url;
},
urls = ['https://www.google.ru/', 'https://www.yandex.com/', 'http://www.bing.com/', 'https://www.yahoo.com/', 'https://duckduckgo.com/'],
urlsLength = urls.length;
f( e, urls[Math.floor( Math.random() * urlsLength )] );
</script>
您可以在http://jsfiddle.net/tfno031a/上查看工作示例(只需按左上角的“運行”按鈕)。 您必須稍加修改,才能將內容加載到<iframe>
(如果您有本地網址)。 我希望這能幫到您。 祝好運!
編輯
工作示例。 我在與主文件相同的目錄中有一個1.html
文件。 另外還要注意Math.floor()
,在一開始我很粗心。
<iframe id='iframeID'></iframe>
<script type="text/javascript">
var e = document.getElementById('iframeID'),
f = function( el, url ) {
el.src = url;
},
urls = ['1.html'],
urlsLength = urls.length;
window.onload = f( e, urls[Math.floor( Math.random() * urlsLength )] );
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.