我正在尝试构建一个简单的页面,用户点击一些加载相应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:
我尝试了一些我在类似问题中找到的建议,比如用display:none放置一个空的iframe;在我要加载之前,替换'&amp;'与'&amp;'似乎没什么用。
任何帮助都将受到高度赞赏,提前谢谢!