Cocoa webview UserAgent“webkit-legacy”问题

2024-05-27

我解决了这个问题。请看下面所选的答案!

我一直在努力寻找导致 OSX Cocoa 应用程序的 WebView 与 Safari 表现不同的原因。事实证明,用户代理是不同的(有点明显?)并且我正在访问的网站不知道如何处理它。

令人惊讶的是,它是https://messenger.com https://messenger.com(脸书聊天)。

问题是它不在屏幕上显示图片。它确实加载了,但实际上并没有显示。看看这个..

如果您查看我编号为“2”的区域,您只会看到空白区域。我没有对此进行审查。它只是空的。

这是我原来的问题链接:使用 WebKit 的简单 Swift Cocoa 应用程序:上传图片不起作用 https://stackoverflow.com/questions/33642521/simple-swift-cocoa-app-with-webkit-upload-picture-doesnt-work

我解决了第一个问题(感谢答案:D),但第二个问题仍然存在。

  1. Shared picture does not show up - I labeled as 2 in the picture.
    • again, from other browsers or released apps, it shows the pictures that I shared with participants like below. (of course I censored the pictures) example of browser showing shared pics

为了调试这个问题,我打开了检查元素并发现了这一点。

<body class=" webkit-legacy webkit mac x1 body_textalign Locale_en_US _z4_" dir="ltr">

当我从 Safari 加载完全相同的页面时,我会看到:

<body class="safari webkit mac x1 body_textalign Locale_en_US _z4_" dir="ltr">

所以我决定替换我的应用程序的 WebView 中的那一行,以及中提琴!有用!所以...

TLDR:如何在每次加载视图时使其工作?

我试图找到一些方法来将我的用户代理设置为 Safari,但我无法让它工作。请问有什么建议吗?


我创建了简单的示例应用程序并解决了这个问题。我提供了与 Safari 中相同的用户代理。之后,共享照片将按预期工作。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    self.webView.customUserAgent = @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.2.7 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.7";
    self.webView.mainFrameURL = @"https://messenger.com";
}

之后,我比较了用户代理:

原始WebView用户代理:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko)

Safari 用户代理:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.2.7 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.7

所以,看起来我只需要更改用户代理的最后一部分。像那样:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    self.webView.applicationNameForUserAgent = @"Safari/601.2.7";
    self.webView.mainFrameURL = @"https://messenger.com";
}

使用此代码,共享照片也可以工作。不幸的是,它不能与其他applicationNameForUserAgent我尝试过的价值观。

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

Cocoa webview UserAgent“webkit-legacy”问题 的相关文章

  • 如何使用 CNContacts 快速获取手机号码?

    我有一些代码可以检索用户联系人中的所有电话号码 但只想过滤掉手机号码 目前 我只是通过将第一个数字为 或第二个数字为 7 的数字添加到数组中来实现此目的 如下所示 func findContacts gt CNContact let key
  • 在 MAC OS X 10.9 上安装 NLTK 确实很困难

    我是 Python Mac OS 新手 我正在寻找 NLTK 教科书 但我在安装它时遇到了一些问题 我一直在寻找解决方案 但不幸的是 所有解决方案似乎都不适合我 或者我误解了如何使用它们 我遇到的基本问题是 尽管按照说明进行操作 NLTK
  • 指南针字体输出错误的字体文件路径

    font face font family HelveticaNeueLTStd Lt src url css fonts HelveticaNeueLTStd Lt otf format opentype 这是我的指南针代码的输出 inc
  • 为什么我的列表项项目符号与浮动元素重叠

    我有一个 XHTML Strict 页面 我在其中将图像浮动在常规文本段落旁边 一切都很顺利 除非使用列表而不是段落 列表的项目符号与浮动图像重叠 更改列表或列表项的边距没有帮助 边距是从页面左侧开始计算的 但浮动会将列表项推到右侧insi
  • 使用数组中的字符串淡入/淡出标签

    func setOverlayTitle self overlayLogo text Welcome var hello String Bon Jour GUTEN nMORGEN BONJOUR HOLA BUENOS D AS BUON
  • Swift:长按手势识别器 - 检测轻击和长按

    我想连接一个动作 如果手势是点击 它会以特定的方式为对象设置动画 但如果按下持续时间超过 0 5 秒 它会执行其他操作 现在 我刚刚连接了动画 我不知道如何区分长按和点击 如何访问新闻持续时间以实现上述目的 IBAction func ta
  • 在表格上使用上下文样式将点边框应用于特定单元格

    我以前有过问了一个问题 https stackoverflow com questions 6326266 issue with applying dotted border to cells in table design在这个问题上 你
  • 将图像作为框架放置在 iframe 周围?

    我有一个网站尝试以移动格式显示 但在宽屏幕上 我确信 iframe 是正确的选择 我正在尝试将 iframe 加载到 iPhone 的图像中 你可以看一个例子here http webfro gs south tour iframe tes
  • 关闭捕获上下文 Swift

    当我尝试更改闭包中的变量时出现此错误 A C function pointer cannot be formed from a closure that captures context 是否有解决方法或者仍然可以更改闭包内的变量 My C
  • 在 mac os Sierra 上,卡在“设置 CocoaPods 主存储库”上

    转移到 mac os sierra 后 我完全格式化了我的 mac 现在每次运行时我都面临安装 cocoapods 的问题sudo gem install cocoapods pre一切都安装得很好 当我尝试安装 Pod 时 终端堆栈打开S
  • 具有延迟 NSMenu 的 NSButton - Objective-C/Cocoa

    我想创建一个NSButton单击时会发送一个操作 但按下 1 或 2 秒时会显示 NSMenu 和这个问题完全一样here https stackoverflow com questions 3309030 how to create ns
  • 在 Objective-C 中的 Swift 类上调用 NSStringFromClass 返回模块损坏的名称

    我知道这个问题 https stackoverflow com questions 24107658 get a user readable version of the class name in swift in objc nsstri
  • 核心数据 iCloud 同步中的关系完整性和验证

    考虑以下简单的实体模型 实体 A 与实体 B 具有一对一关系 称为b 实体 B 具有逆对一关系 称为a 这两种关系都不是可选的 A B b lt gt a 假设我们有两个设备 1 和 2 开始完全同步 每个对象都有一个 A 类对象和一个 B
  • 如何在 Swift 2.0 中使用 stringByAddingPercentEncodingWithAllowedCharacters() 作为 URL

    我在 Swift 1 2 中使用过这个 let urlwithPercentEscapes myurlstring stringByAddingPercentEscapesUsingEncoding NSUTF8StringEncoding
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • CSS3 信封形状

    正如您可能已经猜到的 该图像是邮件信封形状的一部分 如果可能的话 我想使用 CSS3 创建该形状 我已经制作了其他部分 但这个很棘手 该形状需要两侧都有三角形切口和圆角 大概是 border radius bottom left borde
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • 在 Object 子类及其自己的子类上实现ignoreProperties()

    我是领域新手 我正在使用继承自 Object 的基类以及该基类的自定义子类创建模型 我的模型要求基类通过覆盖静态来声明一些属性被忽略ignoredProperties 方法 当尝试在某些基类子类上重写该方法时 我收到一个 Swift 编译器
  • HTML 锚点,禁用样式

    我有一些 html 锚链接代码 与文档的其余部分不同 我希望它看起来不是链接 有没有一种简单的方法可以禁用由于将文本包装在锚标记中而引起的样式更改 而不必强行使其相同 即 如果我更改正文字体样式 我不必也更改其他一些 link东西 将颜色设

随机推荐

  • 错误:没有名为 psycopg2.extensions 的模块

    我正在尝试为我的 django 项目设置一个 PostgreSQL 数据库 由于对上一个问题的答复 我相信我现在已经完成了为 django 项目设置 postgreSQL 数据库时出现问题 https stackoverflow com q
  • 如何从 System.Enum 转换为基本整数?

    我想创建一个通用方法 用于将任何 System Enum 派生类型转换为其相应的整数值 无需进行强制转换 最好无需解析字符串 例如 我想要的是这样的 Trivial example not actually what I m doing c
  • 如何检索多个深度关系的节点 Neo4j Database Cypher?

    假设有一个简单的图如下 City name gotham lt LOCATED Tower name abc lt LOCATED Bank name CityBank City name gotham lt LOCATED Cinema
  • 我应该迁移到 ASP.NET MVC 吗?

    我刚刚听了 StackOverflow 团队的第 17 期播客 他们对ASP NET MVC http www asp net mvc 我决定去看看 但首先 我想确定这是值得的 我已经为几天后开始的项目创建了一个基础 Web 应用程序 供其
  • 安装pytorch时出现PackagesNotFoundError: cudatoolkit=11.1.0

    我从以下位置获取安装命令https pytorch org get started locally https pytorch org get started locally 当我运行命令时 conda install pytorch to
  • 嵌入式系统:使用汇编语言时的内存布局

    根据我的理解 嵌入式系统运行机器代码 有多种方法可以生成此代码 一种是用 C 等高级语言编写程序 然后使用编译器获得这样的代码 另一种方法是用汇编语言为该嵌入式系统编写指令 并使用汇编器将其转换为机器代码 现在我们得到了加载到系统并执行的机
  • 使用 or 运算符进行 Morphia 查询

    我想知道如何使用 or 运算符编写 Morphia mongodb 查询我这样写了 mongodb 查询 效果很好 db Inv find or sug id 2 grp id 2 但是当我尝试在吗啡中编写此内容时 我感到很困惑 以下查询是
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 在R中,如何平均空间网格正方形上的空间点数据

    现在设法解决问题 我有一组大约 50 000 个点 它们具有坐标和一个与其关联的值 我希望能够将点放入网格中 对落在网格正方形中的所有点的关联值进行平均 所以我想最终得到一个对象来识别每个网格方块并给出网格方块内的平均值 如果有帮助的话 我
  • 如何检查 Android 中是否启用了互联网访问?

    我正在尝试创建一个连接到网络服务器并检索数据的应用程序 我想做一些功能 当我单击我的应用程序时 它首先检查是否启用了互联网访问 如果启用它会启动应用程序 否则打开互联网访问设置 之后它会重定向到我的应用程序 当应用程序连接到网络服务器时 如
  • Selenium 如何按类选择对象

    我有一个带有表单的网页 并且有一个使用 jquery 自动完成功能的字段 这是用户名返回 1 个或多个结果后 HTML 的呈现方式 但是我不知道如何使 Selenium 点击 结果 我可以做一个 jQuery 类型的选择器吗 例如 ul u
  • 使 D3 响应式:viewBox 与 resize()?

    我必须构建在平板电脑 桌面显示器以及某些情况下非常大的 4k 高分辨率影院尺寸显示器上都能正常运行的 d3 可视化效果 因此 我试图找出使用 SVG 的 viewBox 属性和 preserveaspectratio 与调用调整大小函数以在
  • uwsgi协议比http协议快吗?

    我正在尝试部署 django 应用程序的各种设置 我的第一选择是使用带有 mod wsgi 的简单 apache 服务器 我之前已经实现了该服务器供私人使用 由于当前的部署是供公众使用的 因此我正在考虑各种选择 根据网上提供的信息 使用 n
  • 谷歌地图行车方向源代码为他们的例子?

    谷歌举了一个例子http googlemapsapi blogspot com 2007 05 drive directions support added to html http googlemapsapi blogspot com 2
  • (简单)Flex 3 应用程序需要什么版本的 Flash 播放器?

    Flex 3 应用程序需要什么版本的 Flash 播放器 要求似乎是FLEX开发环境中的HTML WRAPPER ACTIONSCRIPT编译器设置 我可以在那里选择什么来最大程度地兼容旧的 Flash 播放器 v8 播放器可以工作吗 Fl
  • 有什么方法可以将自定义差异工具与cleartool/clearcase一起使用?

    我想在使用 Clearcase 快照视图时使用我自己的差异 据我所知 运行时无法指定 diff 工具 cleartool diff 所以我想我可以运行类似的东西 mydiff
  • 无法解析 Landroid/support/v4/app/FragmentActivity 的超类

    我有一个项目使用WelcomeActivity这延伸了FragmentActivity 我使用支持库 所以android support v4 jar在里面libs文件夹 当我运行这个应用程序时 没有任何问题 但是 我想将 ActionBa
  • CORS 击败 AWS LAMBDA :(

    我读了很多关于 CORS Lambda AWS API Gateway 配置的文章 包括 AWS 的设置帮助 http docs aws amazon com apigateway latest developerguide how to
  • 具有多种日期时间表示形式的 CultureInfo

    假设我们有一个 WCF 服务 需要一些时间DateTime对象并使用它 我们有一个以格式发送它的客户端dd mm yyyy 但是这个服务也是从 JS 调用的 它应该发送准确的DateTime 这就是为什么它使用yyyy MM ddTHH m
  • Cocoa webview UserAgent“webkit-legacy”问题

    我解决了这个问题 请看下面所选的答案 我一直在努力寻找导致 OSX Cocoa 应用程序的 WebView 与 Safari 表现不同的原因 事实证明 用户代理是不同的 有点明显 并且我正在访问的网站不知道如何处理它 令人惊讶的是 它是ht