内容在iFrame显示在Chrome,但不是在Firefox

Content in iFrame shows in Chrome but not in Firefox

本文关键字:Firefox Chrome iFrame 显示      更新时间:2023-09-26

以下是有关iframe问题的标准问题的答案列表:

  1. 父页面和子页面(iframe内的页面)在同一个域、子域和目录中。
  2. 没有xml、vtt等文件通过iframe交换。
  3. 服务器是S3,启用了CORS,但我认为在这种情况下这无关紧要。

我有一个测验(子页),可以通过主页(父页)访问。

Child: https://glx.s3.amazonaws.com/ff/jqm.html

父:https://glx.s3.amazonaws.com/ff/draft.html

iframe包含在一个手风琴中。手风琴,测验,iframe等都是在Chrome功能齐全。在Firefox中,iframe没有显示测验。更奇怪的是,在极少数情况下,测试确实出现了,但刷新后就消失了。我有一个没有真实内容的页面演示。iframe用红色文本表示。提前感谢。

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

UPDATE:我不认为这是一个答案*只是解决我的具体问题。我知道肯定有更多的原因,有很多比我更聪明的人有更好的答案。

*参见下面的编辑。

编辑

4个月过去了,除了我自己没有人回答,所以我要自己回答。

我发现了这篇文章,它告诉我Firefox如何阻止在SSL加密网站上未加密的iframe内容。然而,我所有的url都是https,包括iframe的' src'。所以最终我把范围缩小到子页面的来源。在初始化jQuizMe插件时,我使用了3组选项,而只需要一个。Firefox的混合内容拦截器的严格安全性认为我的草率代码是混合活动内容(又名混合脚本内容)。所以我把我所有的选项放在一组括号里,现在我在使用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);
});