2010-04-07 16 views
0

我有一個iframe。我通過表單提交來設置iframe的內容(不同的域 - 比如www.google.com)。目前它的滾動屬性設置爲「否」。在IE中動態設置滾動到iframe

<iframe name="testFrame" id="testFrame" frameborder="1" scrolling="no" width="500" height="200"></iframe> 
<form name="testForm" id="testForm" action="http://www.google.com" target="testFrame"></form> 
<button name="testBtn" value="submit" onclick="submitForm();">submit</button> 

我想要動態地滾動此iframe。

$("#testFrame").attr('scrolling','yes'); 

這是在Firefox中工作,但不在IE中。也試過用:

document.getElementById("testFrame").style.overflow="scroll"; 

沒有運氣... :(請幫助我......

+0

儘管發表評論已經晚了,但你可以試試這個鏈接,http:// www。nazmulweb.com/works/Iframe/Dynamically_Set_Scrolling_in_Iframe.aspx – Hoque 2011-01-28 02:49:17

回答

0
<iframe src="address" id="IFrame" frameborder=0 horizontalscrolling="no" verticalscrolling="yes"></iframe> 

是我在我的web應用程序使用 - 你需要使用horizo​​ntalscrolling/verticalscrolling性質分離在IE的CSS。

又見Dreaded iframe horizontal scroll bar can't be removed in IE?

我不知道如何在JQuery的等做到這一點,但。

編輯:

我想可能需要從innerHTML的創建 - 使用使用document.createElement(「的IFrame」),它的JQuery可以使用,如果我沒有記錯沒有工作 - 我認爲,改變這些屬性可能一旦元素被創建,就不能工作。

嘗試創建使用JQuery或HTML與ID容器DIV,並調用是這樣的:

var div = $('#MyDivID') 
div.html('<iframe src="about:blank" frameborder=0 horizontalscrolling="no" verticalscrolling="yes"></iframe>') 
var ifr = div.children(":first-child") // Get the IFrame created using innerHTML 
ifr.src = 'ADDRESS' 

我真的不知道這是否會工作,雖然,我以前沒用過的JQuery ,所以我只是在JQuery文檔上:-P

+0

謝謝你的解決方案...我試圖通過jquery添加這些屬性...沒有運氣... :( – Aneesh 2010-04-07 05:59:33

+0

我已經添加了一些建議 - 請再次回覆if你仍然有問題 - 你有沒有嘗試過這個例子作爲一個基本的HTML文件沒有JQuery,如果是這樣的話,它工作嗎? – cryo 2010-04-07 08:42:35

0

我試圖複製我的本地機器的情況,我觀察到IFrame元素的存在影響jQuery代碼execution.On頁面加載我試圖拋出警報: -

$(document).ready(function() { 
      alert("hello");    
     }); 

但即使是這樣一段簡單的代碼,在IE中也不會有用。一旦我評論IFrame的一部分,上面的代碼正常執行。我嘗試了其他jQuery操作像div等元素,他們都工作順利。

這只是我的觀察或其他人也曾經經歷過這一點。

+0

對我來說jquery正在使用iframe .. – Aneesh 2010-04-07 06:06:04

2

我們可以更改特定的div或td(如果我們使用表)的innerHTML。我正在使用桌子,它運作良好。

這是索引頁的HTML。

<body> 
    <table border="0"> 
     <tr> 
      <td> 
       <button name="chk" id="chk" style="height: 50px; width:80px; cursor:pointer;" onclick="scrollme()">Click me</button> 
      </td> 
      <td id='test' style="border:1px solid"> 
       <iframe frameborder=0 align=middle width=100% height=100% scrolling="no" src='linkframe.php' name='frm' id='frm' marginheight=0 marginwidth=0 ></iframe> 
      </td> 
     </tr> 
    </table> 
    <input type="hidden" id="tag" name="tag" value="0"/> 
</body> 

這是索引頁中的javascript函數。

<script type="text/javascript"> 
    function scrollme() 
    {   
     if(document.getElementById('tag').value==0) 
     { 
      document.getElementById('test').innerHTML="<iframe frameborder=0 align=middle width=100% height=100% scrolling='yes' src='linkframe.php' name='frm' id='frm' marginheight=0 marginwidth=0 ></iframe>"; 
      document.getElementById('tag').value=1; 
     } 
     else 
     { 
      document.getElementById('test').innerHTML="<iframe frameborder=0 align=middle width=100% height=100% scrolling='no' src='linkframe.php' name='frm' id='frm' marginheight=0 marginwidth=0 ></iframe>"; 
      document.getElementById('tag').value=0; 
     } 
    } 
    </script> 

在iframe中您可以附加任何頁面。由於我的頁面很長,我沒有在這裏顯示。我使用一個隱藏的輸入來跟蹤表格單元格的innerhtml(基本上是iframe元素)。