iframe在Firefox上没有加载/奇怪的行为

时间:2014-01-22 10:15:59

标签: firefox iframe

我正在尝试构建一个简单的页面,用户点击一些加载相应iframe的“按钮”。 (网址:gnosi.gr/games

一切都在Chrome&在IE上也有足够的惊喜,但Firefox似乎没有加载任何iframe。

现在,我正在做的是有几个元素包含用户必须点击的“按钮”:

<ul>
 <li class="gamelink hangman-game" data-id="1418235" data-game="hangman"></li>
 <li class="gamelink crossword-game" data-id="1418235" data-game="crossword"></li>
 <li class="gamelink bugmatch-game" data-id="1418235" data-game="bugmatch"></li>
 <li class="gamelink hungrybug-game" data-id="1418235" data-game="hungrybug"></li>
</ul>

我的JS:

$(document).ready(function(){
    window.gamesinfo={'crossword': ['Crossword','Fill in the words blah blah'],'hangman': ['Hangman','Try to guess the word 1 letter at a time'],'bugmatch': ['Bug Matc','Eat the bug that corresponds to the answer'],'hungrybug': ['Hungry Bug','blah blah'],'wordscramble': ['Word Scramble','ajoidoas'],'studyslide': ['Study Slide','study the words '],'studymatch': ['Match','do the matching']};
    window.gamesdimensions={'crossword': [950,540],'hangman': [520,540],'bugmatch': [800,500],'hungrybug': [890,600],'wordscramble': [720,400],'studyslide': [1040,800],'studymatch': [752,670]};
    $('.gamelink').click(function(){
        $('#game').html('<iframe src="https://www.studystack.com/i'+$(this).attr('data-game')+'-'+$(this).attr('data-id')+'" width="'+window.gamesdimensions[$(this).attr('data-game')][0]+'" height="'+window.gamesdimensions[$(this).attr('data-game')][1]+'" frameborder="0" scrolling="no" style="overflow:hidden;"><style>#highScoreFrame{display: none!important;</style></iframe>');
        gameloaded($(this).attr('data-game'),$(this).attr('data-id'));  
    })
    $('#togglehelp').click(function(){
        $('#instructions').toggle();
     });
})
function gameloaded(game,id){
$('#instructions').html(window.gamesinfo[game][1]);
$('#game').width($('#game iframe').first().width())
$('#moregames').show();
$('#instructions').hide();
$('#moregames .gamelink').each(function(){
    $(this).attr('data-id',id);
})
}

WIERD BEAVAVIOR:

  1. 在localhost上正常工作
  2. 如果我尝试在加载iframe的元素上调用click事件,请键入  $( 'gamelink')。EQ(4)。点击()
    在控制台中,我什么都没得到,但是如果我在前4个元素中的一个上调用它,iframe会加载(缺少一个参数会显示错误信息,但这很好,因为前4个按钮有意缺少该参数,在第一个iframe加载后由JS填充)
  3. 我尝试了一些我在类似问题中找到的建议,比如用display:none放置一个空的iframe;在我要加载之前,替换'&amp;'与'&amp;'似乎没什么用。

    任何帮助都将受到高度赞赏,提前谢谢!

0 个答案:

没有答案