问题标签 [safari-content-blocker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 定期从服务器更新 blockerList.json
我正在为 iOS 构建一个内容拦截器应用程序。
有什么方法可以在后台定期从服务器更新 blockerList.json 文件?
我不知道该怎么做,甚至不知道从哪里开始。
json - 用于 Safari 内容的多个过滤器阻止 Swift
我正在构建一个简单的内容阻止应用程序。UISwitches
它有效,但我想使用(保存到)应用过滤器(阻止哪些网站,哪些不阻止NSUserDefaults
)。因为内容阻止扩展使用 json,所以我不清楚如何选择多个 json 文件同时运行。
任何想法如何实现?多个扩展?以某种方式组合和拆分json文件?
javascript - 有谁知道您实际上是如何更新 safari 内容拦截器的 blockerList.json 文件的?
Apple 为我们提供了一个 API 来更新用于 safari 内容阻止程序的 json (SFContentBlockerManager.reloadContentBlockerWithIdentifier),因此很明显 Apple 打算让我们使被阻止的项目可自定义。
我已经玩了很长时间了,但我无法弄清楚你实际上是如何做到这一点的。
我尝试将不同的 json 文件加载到扩展中(一个用于广告,一个用于网站等),但发送多个文件似乎总是会破坏我的扩展。
我也尝试在应用程序中编辑 blockerList.json 文件,但这似乎也破坏了扩展。我还被告知我们不允许编辑与我们的应用程序捆绑在一起的资源。
似乎不存在用于修改哪些内容被阻止的文档。有没有人有一个例子或至少一个我可以使用的文档的链接?
谢谢
ios - 我如何知道我的 iOS Safari 内容拦截器是否已启用?
是否有 iOS API 可以告诉我我的 Safari 内容拦截器是否已启用?或者如果我想知道这一点,我是否必须求助于某种启发式方法?
ios - iOS 内容拦截器白名单网站
在我的内容拦截器中,有没有办法阻止某个网站上的广告拦截?例如,如果我想屏蔽除 The Verge 之外的所有网站上的广告,有没有办法防止我提供的屏蔽规则影响此页面?
swift2 - 可选(错误域=ContentBlockerErrorDomain 代码=1“(空)”)
使用 SFContentBlockerManager.reloadContentBlockerWithIdentifie 加载 json 文件时出现以下错误
可选(错误域=ContentBlockerErrorDomain 代码=1“(空)”)
ios - 确定用户是否启用了应用程序的 Safari 内容拦截器扩展
我正在开发Safari Content Blocking 扩展。如果扩展被禁用,我打算显示设置说明,如果相反启用,我打算显示设置。如何确定用户是否启用了扩展程序?
我见过这种方法来检测是否激活了自定义键盘,但没有NSUserDefaults
与 Safari 内容拦截器相关的键。
ios - iOS 内容拦截器在 iPad 上不起作用(在 iPhone 上很好)
我刚刚制作了一个 Content Blocker 来阻止 Safari 中的一些信息(类似于 adBlock,但不阻止广告),并且在 iPhone Simulator 和我的 iPhone 6S 上一切正常,但是虽然我可以在 Settings -> Safari 中打开内容阻止器 - > 内容拦截器,在 iPad Simulator 和我的 iPad mini 2 上的 Safari 中没有发生任何事情,有人知道为什么吗?
(Xcode 7.1 + iOS 9.1 + 斯威夫特 2.1)
提前致谢。
ios - Swift:在 iOS 9 中重新加载内容拦截器列表
我正在尝试 IOS 9 中的新功能:内容拦截器(广告拦截器) 在我的应用程序中,我有 3 个我想要阻止的项目(网站)(例如:1. abc.com 2. def.com 3. xyz.com ) 对于每个项目,我使用开关控制 (ON/OFF) 来让用户选择 BLOCK 或 NOT BLOCK 网站。
当更改开关的状态开/关时,我想重新加载文件blockerList.json。但我不知道该怎么做。
javascript - iOS 9 内容过滤器替换字符串的出现
我正在尝试制作一个内容过滤器,通过用更好的替代品替换网页文本来自动审查网页(例如,用 $ 和 * 代替脏话)。
在创建操作扩展时,我发现这很容易做到,它可以让您非常轻松地修改网页。但是对于内容过滤器中的操作,我不确定如何执行此操作。
我认为代码需要看起来像这样:
"type": "css-display-none"
这似乎是唯一可行的方法,因为其他类型(block
、block-cookies
和ignore-previous-rules
)在这里似乎不相关。但是,我不知道如何使用 CSS 选择器替换文本。
我查看了 Apple 引用的这个CSS 选择器网站,但找不到解决方案。
编辑
我正在尝试使用 Javascript 而不是 CSS 的不同方法,更像是操作扩展的工作方式。我将 Javascript 原型作为 NSExtensionJavaScriptPreprocessingFile 添加到 Info.plist。
由于某种原因,这段代码似乎什么也没做。为什么动作扩展中的相同代码在内容过滤器中不起作用?
Javascript 动作: