在iframe中使用iScroll

时间:2012-05-07 10:17:51

标签: javascript html iframe iscroll4

所有

我想在iframe中使用iScroll

这是我的代码

HTML

<form>
        <input type="text" class="frmUrlVal">
        <input type="submit" class="frmSubmit" value="Go">
      </form>
      <iframe src="http://www.css-tricks.com" width="360" height="500" id="dynFrame"></iframe>

JS

$(function()
{
  $('.frmSubmit').click(function(e)
  {
    $('#dynFrame').attr('src', $('.frmUrlVal').attr('value'));
    e.preventDefault();
  });
});

这是我的jsfiddle链接:http://jsfiddle.net/ajaypatel_aj/JtCJa/ 你可以在这里看到有垂直滚动条,我想使用iSroll而不是常规滚动条。 我尝试使用id,但它对我不起作用。

提前致谢!

3 个答案:

答案 0 :(得分:5)

我认为你最接近的选项是http://jsfiddle.net/JtCJa/9/它仍然需要调整,你不能点击链接,但它可以正常工作:)

答案 1 :(得分:3)

您不能从父框架执行此操作。您必须将iScroll的脚本直接添加到"http://www.css-tricks.com"页面。如果此站点不属于您,则无法执行此操作,因为出于安全原因,禁止在来自不同域的页面上执行JavaScript代码。

您可以设置非常大的框架高度,因此框架内的滚动条将消失,仅保留父框架的滚动条。此滚动条可以使用JavaScript设置样式,因为它属于您的域。但我认为使用鼠标内框滚动页面将无效(您无法从第三方框架接收鼠标事件)。并且页面高度变得非常大(您无法确定帧内容的高度)。

那么,您可以在服务器端下载整个页面内容并在您的站点上显示其副本。在这种情况下,此页面上的JavaScript将起作用,并且可以设置滚动条的样式。有几个脚本可以执行此操作。 Trey称为“网络代理”。您可以使用其中一个,例如PHProxy。自己实现这个功能很复杂,因为有一些技术上的困难(下载相关文件,重定向ajax请求,保存cookie等)。

答案 2 :(得分:3)

嘿ajajy你必须在你的文件中添加课程

<iframe src="http://www.css-tricks.com" width="360" height="500" id="navbar" class="navbar_relative"></iframe>

和js funcation

function magentoScrollMimic(){
 j(document).scroll(function(e){
      if(j(window).scrollTop()>138)
        {
            j('#dynFrame').addClass('navbar_fixed');
            j('#dynFrame').removeClass('navbar_relative');

        }
        else
        {
            j('#dynFrame').removeClass('navbar_fixed');
            j('#dynFrame').addClass('navbar_relative');
        }
   }); 
}

samjyo

直接使用

<ul id="dynFrame" class="navbar_relative">

我用过它和它的工作

j(document).ready(function(){
    magentoScrollMimic(); }