IE7 中 window.open() 后权限被拒绝

2023-12-24

我们有一个带有嵌入式 IE 控件的 winforms 应用程序。

在这个IE控件中,我们运行一个Web应用程序(我控制Web应用程序,但不控制winforms应用程序)。

在 Web 应用程序中,我运行一些 javascript 来打开一个子窗口并用 HTML 填充它:

    var features = "menubar=no,location=no,resizable,scrollbars,status=no,width=800,height=600,top=10,left=10";
    newTarget = "reportWin" + String ( Math.random () * 1000000000000 ).replace( /\./g ,"" );
    reportWindow = window.open('', newTarget, features); 
    var d = reportWindow.document; // <-- Exception is thrown here
    d.open();
    d.write('<head>\r\n<title>\r\n...\r\n</title>\r\n</head>');
    d.write('<body style="height: 90%;">\r\n<table style="height: 100%; width: 100%;" border="0">\r\n<tr>\r\n<td align="center" valign="middle" style="text-align:center;">\r\n');
    d.write(...);
    d.close();

当我们在此 WinForms 应用程序中运行 Web 应用程序(但不是单独运行,也不是在另一个 WinForms 应用程序中)时,我们在指定的行处收到 Javascript 错误:

Line 0: Access denied

关于为什么会发生这种情况或如何避免这种情况有什么想法吗?请注意,该窗口并未打开 URL;而是打开了 URL。这只是一个空窗口。

从同一个应用程序中,打开具有同一域中指定 URL 的窗口确实有效。


基于:

  1. IE 6/7 访问被拒绝尝试访问弹出窗口.document https://stackoverflow.com/questions/735136/ie-6-7-access-denied-trying-to-access-a-popup-window-document
  2. http://thecodecave.com/2006/07/20/how-to-get-around-access-is-denied-in-a-windowopen-javascript-call/ http://thecodecave.com/2006/07/20/how-to-get-around-access-is-denied-in-a-windowopen-javascript-call/

您遇到的问题是正在打开的网址需要与打开它的页面位于同一域中。据推测,空白 URL 不会共享其创建者的域。我写了几个快速测试网页并发现

  1. Calling var reportWindow = window.open('', newTarget, features);导致访问被拒绝错误。
  2. 同样的事情与var reportWindow = window.open('http://google.com', newTarget, features);
  3. 但是在网站中打开另一个进行渲染的页面确实有效var reportWindow = window.open('WebForm2.aspx', newTarget, features);

最后一个弹出一个窗口指向WebForm2.aspx执行了这段代码:

window.document.open();
window.document.write('<head>\r\n<title>\r\n...\r\n</title>\r\n</head>');
window.document.write('test<body style="height: 90%;">\r\n<table style="height: 100%; width: 100%;" border="0">\r\n<tr>\r\n<td align="center" valign="middle" style="text-align:center;">\r\n');
window.document.close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IE7 中 window.open() 后权限被拒绝 的相关文章

  • 仅当表单已提交时才触发 jQuery 表单验证?

    不引人注目的验证基于这样的想法 don t进行表单验证 直到用户提交表单 一旦发生这种情况 如果表单上的某些内容无效 那么一旦用户更改了每个字段 就会立即验证它 我想做的是 不显眼地 触发表单元素的验证 也就是说 only如果用户已尝试提交
  • 动态速度计 javascript 或 jquery 插件

    我希望有动态ajax插件在页面上显示速度计 一个想法是我设置一个背景并旋转针 有人知道相关插件吗 这里有一些供您参考 http bernii github com gauge js http bernii github com gauge
  • 在Javascript中按降序对字符串进行排序(最有效)?

    W3Schools 有这个例子 var fruits Banana Orange Apple Mango fruits sort fruits reverse 这是在 Javascript 中按降序对字符串进行排序的最有效方法吗 Updat
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 如何按照编写的顺序迭代 javascript 对象属性

    我发现了代码中的一个错误 我希望通过最少的重构工作来解决该错误 此错误发生在 Chrome 和 Opera 浏览器中 问题 var obj 23 AA 12 BB iterating through obj s properties for
  • 如何仅在 NextJS 站点构建期间使用 getInitialProps?

    当使用 NextJS 构建静态站点时 我想要getInitialProps方法仅在构建步骤期间触发 而不是在客户端上触发 在构建步骤中 NextJS 运行getInitialProps 方法 https nextjs org docs fe
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 仅一页 JavaScript 应用程序

    您是否尝试过单页 Web 应用程序 即浏览器仅从服务器 获取 一页 其余部分由客户端 JavaScript 代码处理 此类 应用程序页面 的一个很好的例子是 Gmail 对于更简单的应用程序 例如博客和 CMS 使用这种方法有哪些优点和缺点
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • 淡出和循环一组 div 的最佳方式

    假设我有以下 div div class a You are funny div div class b You are smart div div class c You are cool div 最好的展示方式是什么div a持续 5
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • 数据表日期范围过滤器

    如何添加日期范围过滤器 like From To 我开始进行常规搜索和分页等工作 但我不知道如何制作日期范围过滤器 我正在使用数据表 1 10 11 版本 My code var oTable function callFilesTable
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012

随机推荐

  • Apache Ignite 集群所需的端口

    这个问题可能是重复的 我正在构建 Ignite 集群 观察到节点之间的互通需要打开多个端口 到目前为止 我打开了47100和11211等端口 向 IT 部门提出每个新发现的端口的开放请求是很乏味的 需要 Ignite 使用的所有端口的列表
  • 在 __init__ 内部调用类函数

    我正在编写一些代码 它获取文件名 打开文件并解析出一些数据 我想在课堂上做这个 以下代码有效 class MyClass def init self filename self filename filename self stat1 No
  • pytest 是否可以选择忽略 setup.cfg 文件?

    我有一个setup cfg指定要使用的默认参数的文件pytest 虽然这对于在整个包上运行测试非常有用 但我希望能够忽略setup cfg在各个模块上运行测试时的选项 有没有办法轻松做到这一点 这似乎可以在以下系统上发挥作用 dev nul
  • SSRS 与 Azure SQL 报告 - 成本和实施

    我目前已经使用 Azure 报告和报告生成器为演示项目实现了一些报告 现在我们要正确地开发报告 我有一些关于 SSRS 的问题 我们需要订阅和调度 所以我想我们必须设置一个 SSRS 服务器 它可以托管在 Azure 上吗 或者哪里有一个好
  • Fancybox 错误:上一个和下一个区域悬停时背景为黑色

    我在我正在构建的网站上安装了 Fancybox 2 的未受干扰版本 除了将鼠标悬停在上一个 下一个和附近区域时图像上会出现黑色背景之外 一切正常 我对标准 Fancybox 所做的唯一修改是淡入速度控制等 就可以看到页面了here http
  • linq 查询导致 System.AccessViolationException

    我在执行一个简单的 linq 查询时遇到一个奇怪的异常 该查询是用 VB NET 表达的 抱歉 例外的是 正如标题所说 System AccessViolationException 完整的异常消息链是 System Web HttpUnh
  • 如何在 C# 中获取 Javascript 变量值

    我有两个纬度 经度表 每个表 1000 行 我想使用 Google Map API 计算两个纬度 经度之间的距离并将距离存储在数据库中 代码工作正常 但问题是如何从 JavaScript 返回计算出的距离 我尝试使用隐藏字段来存储距离 因为
  • 未捕获的 DOMException:无法在“WorkerGlobalScope”上执行“importScripts”:“http://localhost:9000/worker-html.js”处的脚本无法加载

    我在 Angular 应用程序中使用 Ace Editor 它在这里定义 https www npmjs com package ng2 ace editor https www npmjs com package ng2 ace edit
  • RxJS switchMap 不会取消内部合并的可观察值

    内部合并的可观察量不会以此代码终止 rxjs 5 5 6 let source new Subject
  • python和pygame中的随机非重叠圆(控制圆数)

    我正在编写具有不同半径的非重叠随机圆的代码 我得到了应得的 但我检查重叠或非重叠的 if 语句排除了许多圆 所以 我得到的圈子数量较少 这是代码 import pygame import numpy as np pygame init di
  • Polymer,如何打开/关闭 google-map-marker InfoWindow?

    我正在使用网络组件谷歌地图标记 http googlewebcomponents github io google map components google map google map marker在我创建的聚合物元素中 我想捕捉它的点
  • 获取 OAuth 令牌以供 Azure DevOps API 使用

    我有一个用 Angular 7 编写的 Web 应用程序 我正在尝试使用 Azure DevOps API 并且我知道我必须设置一个 Azure Active Directory 应用程序 我尝试过一些类似的库adal angular ms
  • 如何在 OSX Mavericks 上安装命令行工具

    我正在运行 OSX Mavericks 10 9 在尝试更新 Rails 中的捆绑包时 收到以下错误消息 你必须先安装开发工具 我已经安装了 Xcode 但似乎没有选项可以从 Xcode 4 6 中安装工具 如何通过终端下载并安装命令行工具
  • 如何在量角器中打印网页元素?

    当量角器等待元素超时时 我想将元素打印为消息的一部分 waitForElementDisplayed webDriverEl time timeOut let EC protractor ExpectedConditions let isV
  • Android 应用程序:已连接互联网

    我如何检查是否已成功连接互联网 Wifi 3G 其他 如果用户没有 Wifi 连接 我已经向用户显示错误 但我如何确保用户确实获得了 3G 连接 如果他们愿意 在没有 Wifi 连接的情况下连接使用该应用程序 如果您只是想查看手机是否连接到
  • 如何从 dapper 返回的复杂对象中修剪所有字符串

    我正在使用一个遗留数据库 在这个数据库中 数据被分配了列的最大长度 如果字符串数据较短 则会自动在末尾填充空格 我想做的是在我所做的每个查询中修剪所有这些结尾空格 我认为更好的方法之一是使用反射为简洁的查询创建扩展方法 但我似乎无法让它发挥
  • 来自类库的 HtmlEncode

    我有一个类库 C 语言 我需要使用 HtmlEncode 方法对数据进行编码 这可以通过网络应用程序轻松完成 我的问题是 如何使用从控制台应用程序调用的类库中的此方法 System Net WebUtility https learn mi
  • Yeoman:使用用户提供的参数调用子生成器

    我正在编写我的第一个 Yeoman 生成器 它会提示用户进行各种输入 并根据他们的响应有条件地创建文件 我需要能够根据用户输入调用子例程 可能是 Yeoman 子生成器 并将参数传递给它 我想使用命名函数 不会自动运行 的原因是 有时用户的
  • 正常优先级构建不会在 TFS 2010 中构建 [已关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我在 TFS 2010 中设置了两个构建流程 当任何开发人员将代码签入 TFS 时 就会启动一个构建 第二个构建每天晚上 12 30 运行
  • IE7 中 window.open() 后权限被拒绝

    我们有一个带有嵌入式 IE 控件的 winforms 应用程序 在这个IE控件中 我们运行一个Web应用程序 我控制Web应用程序 但不控制winforms应用程序 在 Web 应用程序中 我运行一些 javascript 来打开一个子窗口