Safari怎样对指定网页设置不同的User Agent?

自己写个插件
■网友
这个,dev tools里的emulator可以不?
■网友
我在尝试写Safari插件,但是阻力很大。我计划弄一个列表,针对列表里的 URL 进行正则匹配,在Safari访问他们时进行拦截,修改 user agent。然而,我翻了一遍 Safari Extension API , 并没有发现可疑提供我修改 http request header 的地方。只有SafariBeforeNavigateEvent事件,能得到的信息只有即将访问的 url ,访问前拦截并修改请求头的方法行不通。javascript - How modify the request headers using safari extension这里更加确定了此路不通。第二种方法。载入页面后,判断当前页面在不在列表里,在就注入代码,带着新的 user agent 重载该页面。注入的代码大概长这个样子。$.ajax({ type: "GET", url: window.location.href, success: function(data) { document=data; }, beforeSend: function(xhr) { xhr.setRequestHeader("User-Agent", "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"); }});然而遇到了错误?Refused to set unsafe header "User-Agent"大概是 Safari 禁止我发送自定义的 User Agent 吧至此,我已经没有任何方法了。只能等着 Apple 更新 API 。按照 Apple 那个尿性,不太可能了。


    推荐阅读