2015-07-21 120 views
2

这里的答案,关于IFRAME问题的标准问题清单:内容中的iFrame显示Chrome,但不能在Firefox

  1. 父页和子(在iframe中的页面)是在同一个域中,子域和目录。
  2. 没有xml,vtt等通过iframe进行交换。
  3. 服务器是S3,启用了CORS,但我认为这种情况并不重要。

我有一个通过主页面(父)访问的测验(子页面)。

儿童:https://glx.s3.amazonaws.com/ff/jqm.html

家长:https://glx.s3.amazonaws.com/ff/draft.html

IFrame,这是包含在手风琴。手风琴,测验,iframe等都在Chrome中全面运行。在Firefox中时,iframe不显示测验。更奇怪的是,在极少数情况下,测验会出现,但一旦刷新就会消失。 我有一个页面的演示没有真正的内容。 iframe以红色文本显示。提前致谢。

DEMO

JS:jQuery的2.1.4,jQuery UI的1.11.2,JWPlayer 6.12,jQuizMe 2.2.1

更新:我不考虑这个答案*只是解决我的具体问题。我知道除此之外肯定还有更多,而且有更多聪明的人比我有更好的答案。

*请参阅下面的编辑。

编辑

4个月后出现了比我自己之外没有答案,所以我会回答它自己。

回答

0

我发现这个post,它告诉我Firefox如何阻止iframe内容,如果它是SSL加密网站上的未加密内容。但是,我的所有网址都是https,包括iframe的“src”。所以最终我把它缩小到了子页面的源头。我在初始化jQuizMe插件时使用了3套选项,而只需要一套。 Firefox的混合内容阻止程序的严格安全性认为我的草率代码是Mixed Active Content (a.k.a. Mixed Script Content)。因此,我将所有选项都放在一组括号中,现在我在使用Firefox时在iframe中包含内容。

JS

老JS子页(jqm.html)

$(function($){ 
    var options = { 
     numOfQuizQues: 12, 
     disableDelete: true, 
     showWrongAns: true, 
     showAns: true, 
     review: true 
}; 
    var quiz = { 
     multiList: [ 
      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 

      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
     ], 

    }, 
    options = { 
     allRandom: true, 
     title: ' ' 
    }; 
    options.showHTML = true; 
    $(".quizArea").jQuizMe(quiz, options); 
}); 

修订JS

$(function($){ 
    var quiz = { 
     multiList: [ 
      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 

      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
      { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
         { 
       ques: "QUESTION?", 
       ans: "C", 
       ansSel: ["A","B","D","E"] 
      }, 
     ], 

    }, 
    options = { 
     allRandom: true, 
     title: ' ', 
       numOfQuizQues: 12, 
     disableDelete: true, 
     showWrongAns: true, 
     showAns: true, 
     review: true, 
       showHTML: true 
    }; 

    $(".quizArea").jQuizMe(quiz, options); 
}); 
相关问题