javascript CORS onerror 处理程序

2024-02-05

背景

  • 几年前,有一个问题onerror处理程序和跨源脚本标签,更多相关信息 http://jeremiahgrossman.blogspot.com/2006/12/i-know-if-youre-logged-in-anywhere.html.

  • 主流浏览器修复了该问题。

  • 知道这是从 CDN 脚本检测客户端错误时出现的问题,他们在某种程度上放宽了这些限制(firefox https://bugzilla.mozilla.org/show_bug.cgi?id=696301, webkit https://bugs.webkit.org/show_bug.cgi?id=81438)

实际问题

我在 localhost 上托管一个简单的页面,并包含来自不同域的脚本(例如“sitea”),HTML 如下所示:

<html>
<head>
<script>window.onerror = function(e, f, g) { console.log('err',e,f,g) }</script>
</head>
<body><h2>test</h2>
<script src='http://siteA:8081/one.js' crossorigin='anonymous'></script>
</body>
</html>

脚本于siteA做这个:

var foo; foo.bar;

显然这会抛出异常,因为 bar 未定义。

不幸的是,我仍然在第 0 行收到“脚本错误”,如票证中所述。

请注意,我是:

  • 设置跨域属性。

  • 查看请求中的“Origin”标头

  • 将 Access-Control-Allow-Origin 标头设置为“*”并在开发 Web 工具上查看它。

我在 chrome 和 firefox 都试过了,还是不行。有人知道为什么吗?


对我有用 http://jsfiddle.net/josh3736/vHmeb/在 Firefox 20 和 Chrome 中从版本 30 开始支持跨源错误报告 https://code.google.com/p/chromium/issues/detail?id=159566.

您可以看到浏览器确实发送了一个Origin:标头因为<script>标签有一个crossorigin属性,并且错误被正确报告,因为服务器响应Access-Control-Allow-Origin: *.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript CORS onerror 处理程序 的相关文章

随机推荐

  • 如何从 Delphi 的主线程向 TThread 发送消息?

    我想向一个线程发送消息并在线程中处理它 我怎样才能在德尔福中做到这一点 我猜PostMessage是要走的路 但到目前为止我看到的例子描述的是另一种方式 即从线程到主线程 我什至不会尝试解释或编写任何代码 看看这个教程就知道了 它有点旧 但
  • 在启用 PyCharm 插件的情况下使用 CLion 逐步执行 C++ 代码

    启用 PyCharm 插件后 我在 CLion 中遇到问题 这就是我所做的 从 shell 运行 Python 程序 该程序创建多个进程 如工作进程 其中 Python 代码调用我想要调试的 C 代码 从 CLion 附加到原始主 Pyth
  • 在 MySQL 列中查找双引号

    我想查找带双引号的数据 我有下一个简单的查询 SELECT FROM table name WHERE column name LIKE 但我有语法错误 You have an error in your SQL syntax check
  • 在单个系统上运行客户端/服务器程序

    我想知道是否有两个程序 一个叫做server另一个叫client这两个分别说明了服务器和客户端 是否可以在一台机器上测试它们 考虑到我定义客户端套接字如下 socket new Socket 127 0 0 1 3000 编辑 服务器部分
  • 未找到“Aws\Common\Aws”类 cakephp

    我在 cakephp 中使用 AWS PHP SDK V2 8 我正在 AWS ec2 ubuntu 机器上工作 我使用 zip 文件而不是任何作曲家 我收到以下错误 Class Aws Common Aws not found 我创建了一
  • 在自己的函数中响应导航 onPress

    我已经实现了教程中的 React Navigation 示例https reactnavigation org docs intro https reactnavigation org docs intro 而且效果很好
  • 在 Spring boot 中禁用自动提交不起作用

    我设置了两个参数以通过 False 禁用自动提交 但在没有提交事务的情况下保存实体操作 spring datasource hikari auto commit false spring jpa properties hibernate c
  • 在我的文本区域中显示降价

    我正在使用 BlueCloth 从用户输入文本区域的内容中通过 markdown 创建 html 如下所示 def create post Post new params post do post body BlueCloth new po
  • 我的 Android 应用程序 ViewPager 中 PagerTabStrip 的自定义字体颜色

    我需要更改 Android 应用程序 ViewPager 中 PagerTabStrip 的字体颜色 这是相同的 xml 布局 我有什么办法可以做到这一点吗
  • 如何在Java中将文件/目录移动到回收站而不是永久删除它[重复]

    这个问题在这里已经有答案了 我正在尝试创建 GUI 示例 当用户单击按钮时删除文件和 或目录 但我看到文件被永久删除 如何使其移动到回收站而不是这个 if File path getText isEmpty JOptionPane show
  • NodeJS 文件系统观察抛出事件两次或更多次

    我正在 Ubuntu 上使用以下命令查看 NodeJS 服务器的配置文件 for var index in cfgFiles fs watch cfgFiles index function event fileName logger in
  • python argparse子命令具有依赖性和冲突

    我想使用 argparse 来构建一个带有子命令的工具 可能的语法可以是 tool py 下载 from 1234 interval 60 tool py 下载 build 1432 tool py clean 数字 10 所以我想使用ar
  • iOS AVExportSession 仅因修剪视频而失败

    我创建了一种根据给定时间范围修剪和导出视频的方法 它还会将视频旋转为横向 但由于某种原因 AVAssetExportSession 在尝试处理之前使用 UIVideoEditorController 修剪的视频时失败 以前有人遇到过这个问题
  • Errno::EACCES:运行捆绑包时权限被拒绝,它命中 json 1.8.1,pg 0.17

    我刚刚买了一台新笔记本电脑 并使用迁移助手完全转移了所有内容 似乎一切正常并且处于适当的位置 所以我不知道这是否是问题所在 我对调试这样的环境错误还很陌生 我一直在 Windows 上开发一个 Rails 项目 这台笔记本电脑是 Mac O
  • Python 字符串中的 u'\ufeff'

    我收到错误并显示以下异常消息 UnicodeEncodeError ascii codec can t encode character u ufeff in position 155 ordinal not in range 128 不知
  • JScrollPane 中的滚动更平滑

    使用 JScrollPane 的滚动条箭头进行滚动 或通过为箭头键设置键绑定 将视口移动一个增量 暂停 然后平滑滚动 我遇到的大多数滚动条的行为都是一样的 有轻微的移动 暂停 然后更快地连续滚动 有什么方法可以避免暂停 以便滚动从开始到结束
  • C 中的重音/元音字符?

    我刚刚学习 C 语言 并接到了一项作业 要求我们将纯文本翻译成莫尔斯电码 然后再翻译回来 我最熟悉 Java 所以请耐心等待我使用的术语 为此 我有一个包含所有字母字符串的数组 char letters etc 我编写了一个函数来返回所需字
  • Python Discord.py `time.sleep()` 协程

    import discord import os import random import time import math client discord Client with open admins conf r as f for li
  • 反应本机无法读取 null 的属性“绑定”

    我尝试运行一个反应本机模拟器 然而 在模拟器中却出现了这个错误 Failed to load bundle http localhost 8081 index bundle platform ios dev true minify fals
  • javascript CORS onerror 处理程序

    背景 几年前 有一个问题onerror处理程序和跨源脚本标签 更多相关信息 http jeremiahgrossman blogspot com 2006 12 i know if youre logged in anywhere html