相关疑难解决方法(0)

拍摄包含iframe的页面的屏幕截图

我们有一个nodeJS / angular 4网站,该网站显示来自第三方的iframe(powerBI Emebdded)。我们正在尝试开发一种功能,以允许最终用户对包含iframe内容的页面进行截图。

我们尝试了iframe2image库:https//github.com/twolfson/iframe2image

但是我们面临着同一个原产地政策的问题:

ERROR DOMException: Blocked a frame with origin http://localhost:4200
from accessing a cross-origin frame
Run Code Online (Sandbox Code Playgroud)

由于我们无权访问iframe(这是PowerBI iframe生成的带有专用库的第三方内容)。我们无法通过将iframe中的window.document.domain设置为同一域来绕过该策略。

您有建议的解决方案吗?

html javascript dom node.js angular

7
推荐指数
1
解决办法
2937
查看次数

如何解决阻止具有原点的帧来访问wordpress中的跨源帧错误?

我正在一个WordPress网站上工作,其中安装了很多wordpress插件.

wordpress网站上安装的插件有以下选项:

在此输入图像描述

当我单击查看详细信息选项时,我在图像中显示如下所示的空白屏幕,但是当我在新窗口或选项卡中打开时,它可以正常工作.

在检查控制台时,我收到以下错误(单击"查看详细信息"无法在同一页面上打开时):

Blocked a frame with origin from accessing a cross-origin frame.
  at Contents
  at Function.map
  at a.fn.init.n.fn.(anonymous function) [as contents]
  and many other places. 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


问题陈述:

我想知道我需要在wordpress中修改哪个文件才能解决此错误.这个错误似乎存在于每个wordpress插件中.它适用于新的选项卡或窗口,但无法在同一页面中工作.

javascript wordpress jquery same-origin-policy

7
推荐指数
1
解决办法
5333
查看次数

如何在Javascript中的iframe元素中获取元素?

我有如下一个元素的文档里面,我能得到通过iframe元素document.getElementById('iframe_id'),但如何得到这个iframe中的元素?我试过了iframeElement.contentWindow,返回的DOMWindow没有属性.也试过iframeElement.docuemntiframeElement.contentDocument,两者是不确定的.我怎么才能得到它?我在实验中使用了最新的Chrome.

这是iframe元素

<iframe id='iframe_id'>
<html>
<body>many content here</body>
</html>
</iframe>
Run Code Online (Sandbox Code Playgroud)

javascript iframe google-chrome

6
推荐指数
1
解决办法
2万
查看次数

阻止具有原点"http:// localhost:8084"的帧访问跨源帧

我正在尝试打印由jspdf生成的pdf并加载到iframe上,但是我收到了错误消息:

"DOMException:通过访问跨源帧来阻止具有原始" http:// localhost:8084 "的帧."

这是我的代码:

  <iframe id="pdf-prueba" name="pdf-box"></iframe>


function open(){
    var pdf = new jsPDF('p', 'mm', [55, 5]);
    var data = pdf.output('datauristring');
    $('#pdf-box').attr("src", data).load(function(){
        document.getElementById('pdf-box').contentWindow.print();
    });
}
Run Code Online (Sandbox Code Playgroud)

html javascript jquery jspdf

6
推荐指数
1
解决办法
2万
查看次数

querySelector 在检查元素之前不会检测元素

我的问题似乎与此问题非常相似:Document.querySelector 返回 null,直到使用 DevTools 检查元素,但是存在一些非常令人困惑的显着差异,并且表明问题可能有所不同。

我正在尝试编写代码来替换 Google Chat 上输入框中的文本,因此我使用 document.querySelector。我需要的输入字段实际上是一个divwith contenteditable=true,所以我有以下代码:

document.querySelector('div[contenteditable]');

此代码最初在浏览器控制台中返回 null,直到在检查器中单击该元素(单击检查器中的元素并使用检查器光标产生相同的结果)。该元素显然存在,因为我可以在其中键入文本,并且检查器显示它存在于我正在查询的所有属性中(甚至在检查器中单击它之前),尽管查询返回 null。使用检查器单击元素将立即修复此问题。

另外(我不确定这是否相关,但似乎它可能暗示了问题的本质),即使单击检查器中的元素以使查询返回一个元素,该查询的结果不能存储在变量中。单击开发工具之前和之后的控制台

html javascript dom selectors-api

6
推荐指数
1
解决办法
2263
查看次数

在哪里禁用Opera的跨网络保护?

Opera 11.01的JS安全问题中,从服务器A转移到B后,我了解到Opera具有一些"跨网络"保护.

我遇到了相同的js安全问题,我发现Opera 11.10("Barracuda")增加了禁用跨网络保护的首选项.我的歌剧是11.50但我找不到具体的偏好.

我是否误解了"跨网络"的含义?

非常感谢.

javascript security opera

5
推荐指数
2
解决办法
7748
查看次数

使用不带src属性的vuejs在iframe中渲染Component

<iframe id="frame" width="100%" height="100%">

</ifrme>
Run Code Online (Sandbox Code Playgroud)

我想在这个iframe中渲染组件.有没有在iframe中创建html元素或渲染组件的选项?

new Vue({
   el:'#frame',
   store:store,
   router:router,
   render: component
})
Run Code Online (Sandbox Code Playgroud)

html iframe vue.js

5
推荐指数
2
解决办法
5253
查看次数

Chrome扩展程序 - 未捕获DOMException:阻止具有来源的框架访问跨源框架

之前有人将这篇文章标记为另一篇文章的副本,例如:SecurityError:阻止了一个原始框架来访问跨文本框架这篇文章是不同的,因为它是关于在Chrome网络扩展的上下文中避免此错误,这意味着可能有独特的解决方案.

我正在向Firefox移植Firefox Quantum扩展程序.扩展将iFrame注入用户的当前网页.现在,扩展程序在Firefox Quantum中没有问题,你可以在这里找到它:https://addons.mozilla.org/en-US/firefox/addon/tl-dr-auto-summarizer/?src = search

iFrame的源代码是一个名为"inject.html"的HTML文件,它绑定在扩展名中.

这是注入iFrame的缩短(以避免使帖子过长)的代码.此代码位于用户当前选项卡的内容脚本中:

var iFrame = document.createElement("iFrame");
iFrame.id = "contentFrame";
iFrame.classList.add("cleanslate");
iFrame.style.cssText = "width: 100% !important; height: 100% !important; border: none !important;";
iFrame.src = browser.extension.getURL("inject-content/inject.html");
document.body.appendChild(iFrame);
Run Code Online (Sandbox Code Playgroud)

这是manifest.json

{
    "manifest_version": 2,
    "name": "TL;DR - Summarizer",
    "version": "3.0",

    "description": "Summarizes webpages",

    "permissions": [
        "activeTab",
        "tabs",
        "*://*.smmry.com/*"
    ],

    "icons":
    {
        "48": "icons/border-48.png"
    },

    "browser_action":
    {
        "browser_style": true,
        "default_popup": "popup/choose_length_page.html",
        "default_icon":
        {
            "16": "icons/summarizer-icon-16.png",
            "32": "icons/summarizer-icon-32.png"
        }
    },

    "web_accessible_resources": [
        "inject-content/inject.html",
        "inject-content/cleanslate.css" …
Run Code Online (Sandbox Code Playgroud)

javascript iframe same-origin-policy google-chrome-extension

5
推荐指数
1
解决办法
2026
查看次数

Facebook登录在香港不起作用,但对我有用

我有一个Meteor应用程序,它允许用户通过meteor的accounts-facebook包注册facebook oauth .我已经设置了所有必要的软件包和UI,并使用mLab数据库(沙箱)在Heroku(免费计划)上部署了应用程序.我已经设置了Facebook应用程序和身份验证,登录对我来说很好.我已成功通过我的Facebook多次在应用程序上注册.

然而,当我住在香港的一位开发人员(我在印度)试图做同样的事情时,该应用程序不会注册他,弹出浏览器在他允许访问他的公众后在控制台中打印出此错误资料 -

DOMException: Blocked a frame with origin "https://myapp.herokuapp.com" from accessing cross-origin frame.

这个错误似乎来自end_of_popup_response.js:18oauth包中.

这个错误有什么特别的可修复原因吗?

facebook cross-domain facebook-oauth meteor meteor-accounts

5
推荐指数
1
解决办法
108
查看次数

有没有办法忽略本地服务的网页的同源策略(file:///)

我正在将网页作为产品的压缩文档包含在内,因此需要解压缩并且只能通过本地访问 file:///

网页已经存在,我只需要对它们进行整容.他们没有CSS.我想添加CSS.为了避免更改数千页,我想通过JavaScript插入CSS.页面在一个框架中(另一个框架是菜单).从父窗口向帧添加CSS会产生错误:例如,Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.在尝试访问框架的document对象时.

有没有办法忽略以这种方式提供的网页的同源策略?

这个问题似乎并不重复,因为它想要使用localhost

html javascript same-origin-policy cors

5
推荐指数
1
解决办法
171
查看次数