2011-08-21 44 views
1

我想用JS加載一個HTML頁面到一個iFrame中,而不是使用通常的iFrame目標。很長的故事。這正是我需要的。我Javscript是使用JS加載iFrame時,鏈接變量

onclick = function buttonLife() { 
    var el=document.getElementById("divContent"); 
    el.innerHTML="<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src=page.html></iframe>"; 
} 

而我的HTML是:

<a href="#" onclick="buttonLife();">BUTTON</a>; 

和它的作品。但它加載了上面的java函數已經定義的頁面。不過,如果我想使頁面我加載到與下面的HTML每個按鈕的iFrame變量:

<a href="#" onclick="buttonLife('page2.html');">BUTTON2</a> 

我知道我需要的具有功能更改爲類似

onclick = function buttonLife() { 
    var el=document.getElementById("divContent"); 
    el.innerHTML="<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src='link'></iframe>"; 
} 

但它不起作用。幫幫我!由於

+0

我建議試着解釋這個問題;自從問了這個問題已經有一段時間了,當我看了看,我仍然不知道你需要幫助的是什麼。點擊'a'元素工作,或不工作?如果它不起作用,它應該有什麼效果;怎麼會出錯?這是值得看這篇文章「[寫完美的問題](http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx),」[Jon Skeet ](http://stackoverflow.com/users/22656/jon-skeet),爲指針。 –

+0

不確定哪部分不清楚。是的,正如我所說,它的工作原理。如果我想要加載由Java函數確定的頁面。這樣可行。 然後接下來的一句話是「但是它加載了一個已經被上面的java函數定義的頁面,但是如果我想讓頁面加載到每個按鈕的iFrame變量中......」 – JDPaulsen

+0

@JDPaulsen:[faq #禮儀] – Will

回答

0

所以我把你的代碼和的jsfiddle嘗試過了,它工作正常: http://jsfiddle.net/ZK2VB/

我做了以下修改:

  • 刪除了無謂onclick =
  • 說得那麼你可以將URL傳遞給函數變量pageUrl
  • 刪除href="#"如此,當你點擊的鏈接不移動至頁面
  • 我加入了<div id="contentDiv">

但這些只是化妝品/創建真實世界中的實現。

如果您使用的代碼,因爲我這應該工作,除非你有一些其他的問題,比如你的地方重新定義的功能,或者你想調用它的定義之前的函數。

+0

是的,有一堆錯誤。感謝澄清。現在它可以工作。謝謝! – JDPaulsen

+0

+ 1s然後呢? –

0

試試這個:

function buttonLife(page_url) 
{ 
    var el = document.getElementById("divContent"); 
    el.innerHTML = "<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src=" + page_url + "></iframe>"; 
} 


另外,我建議你使用:

<a href="javascript:buttonLife('page1.html')">BUTTON</a>; 
+0

謝謝!就是這樣! – JDPaulsen

+1

通常不建議使用'href =「javascript:/ *一些js * /」'(例如http://stackoverflow.com/questions/1070760/javascript-function-in-href-vs-onclick)。選擇JavaScript事件。另外,'javascript:'方法在IE中可能會有其他(可能不期望的)後果:http://www.velocityreviews.com/forums/t303342-href-javascript-func-vs-href-onclick-javascript-func.html #postmenu_1606021。 –

+0

@羅賓溫斯洛,感謝您的聯繫。但無論如何,我認爲href =「javascript()」是好的,因爲用戶需要知道這個鏈接(或者去哪裏)。 – B7ackAnge7z

2
  1. 爲您創建它不接受任何參數的功能;你試圖通過它'page2.html',但它並不期望這個輸入。
  2. 您也期待link變量被自動插入,但Javascript不會在字符串中插入變量。相反,解決方案是將變量與字符串連接起來。
  3. onclick = function buttonLife()可能不會做你打算做的事情;它所做的是定義一個稱爲buttonLife的函數,並將其存儲到名爲onclick的變量中。相反,您只需要創建功能buttonLife()

這裏的修正,以解決上述問題的功能:

function buttonLife(page) { 
    var el=document.getElementById("divContent"); 
    el.innerHTML="<iframe width=1024 height=702 scrolling=no name=bottomFrame frameborder=0 src='" + page + "'></iframe>"; 
} 


<a href="#" onclick="buttonLife('page2.html');">BUTTON2</a> 

MDN's guide to Javascript是一個很好的基本介紹,並會幫助你避免這些類型的問題。

+0

感謝您的提示。那也做了。 – JDPaulsen