Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我是否可以根据视口大小调整iframe的内容?_Javascript_Html_Css - Fatal编程技术网

Javascript 我是否可以根据视口大小调整iframe的内容?

Javascript 我是否可以根据视口大小调整iframe的内容?,javascript,html,css,Javascript,Html,Css,我正在尝试创建一个可以嵌入到其他网站(并且是响应性的)的测验,就像嵌入YouTube一样。当点击iframe时,我希望它适合移动屏幕的视口。这可能吗?我如何实现 目前,我已经尝试使用响应式全屏引导模式加载iframe,但问题是除了一小段可嵌入的代码外,我们不控制父页面内容(因为这将被嵌入,所以我无法对父页面中包含的库等做出任何假设) 一般来说:不是。更改iframe的大小是对父站点DOM的修改。对于您当前使用的嵌入代码,这是不可能的,因为跨原点限制会阻止帧内运行的代码访问父窗口。† 你的选择是:

我正在尝试创建一个可以嵌入到其他网站(并且是响应性的)的测验,就像嵌入YouTube一样。当点击iframe时,我希望它适合移动屏幕的视口。这可能吗?我如何实现

目前,我已经尝试使用响应式全屏引导模式加载iframe,但问题是除了一小段可嵌入的代码外,我们不控制父页面内容(因为这将被嵌入,所以我无法对父页面中包含的库等做出任何假设)


一般来说:不是。更改iframe的大小是对父站点DOM的修改。对于您当前使用的嵌入代码,这是不可能的,因为跨原点限制会阻止帧内运行的代码访问父窗口。†

你的选择是:

  • 更改嵌入代码。让您的用户嵌入对动态生成的Javascript文件的引用,该文件设置跨域访问(例如,使用),然后创建一个类似于当前嵌入的iframe标记

  • 采用完全不同的解决方案。考虑使用或<代码> <代码>创建一个“正常”弹出窗口;这不需要在机架上进行特殊设置



  • †:也就是说,除非它碰巧与嵌入内容位于同一来源。但在一般情况下这不太可能。

    谢谢!我不能仅仅更改嵌入代码来创建一个模式,而不是授予跨域访问权限吗?另外,授予跨域访问权限如何允许内部iframe进入全屏?对于选项2,在移动设备上,它将打开一个新窗口,并将用户从父站点带走,并且与桌面上不同,它很难回到父站点,因此我认为这不会起作用。@DebnathSinha授予跨域访问权,允许您在父页面上间接运行代码。您可以使用该访问权限进行所需的任何DOM更改。
    <div>
       <iframe src="http://server/quiz/embed/{{quiz_id}}" style="" frameBorder="0" width="100%" height="768"></iframe>
    </div>