能否判断网页是在手机浏览器上运行还是在 NativeApp 的 webview 中运行呢?

2015-05-25 13:14:55 +08:00
 pysama

我想要的效果是:当这个网页在webview中打开时,隐藏某个区域。但搜索不到相关的方案。(JS判断UA头好像也没法区分呢)

另外,我查到文档说OC可以调用JS的方法,如:

[[webView windowScriptObject] someMethod: ...] ;

但我实践的时候xCode会报错:windowScriptObjec是未定义的接口。 在stackOverflow上也搜索到类似的问题,但是没人解答

求V友大神解答

3765 次点击
所在节点    iDev
10 条回复
yaakua
2015-05-25 13:37:21 +08:00
[webView stringByEvaluatingJavaScriptFromString:jsCall]
pysama
2015-05-25 14:12:51 +08:00
@yaakua 好的,晚上我回去试试。多谢你的建议
xuan_lengyue
2015-05-25 17:17:15 +08:00
User Agent 不一样,当然,如果伪装了 UA 就不行了。
loveuqian
2015-05-25 17:45:08 +08:00
我刚问了一下我们的
2种方法
重写一个网页。app里面就去访问那个网页
另外的就是根据UA了
pysama
2015-05-25 21:13:57 +08:00
@pysama 赞,方案可用。
不过在真正使用的时候还是会有些小问题,比如无法执行JS里面定义好的函数,但是OC里面定义的变量,在JS却能够取到。

对于我当前的需求,还是能满足的呢!再次感谢
pysama
2015-05-25 21:15:02 +08:00
@loveuqian 恩,重写就不太现实了。

刚测试了,UA头是一样的,所以,没法根据UA来做差异化处理。
anerevol
2015-05-25 21:28:02 +08:00
Native 里面可以自定义ua的
pysama
2015-05-25 22:33:26 +08:00
@anerevol 对哦,居然忘记了自定义UA了。好思路。感谢
juju
2016-03-04 09:41:11 +08:00
@pysama 楼主,您最后是怎么样解决的?
pysama
2016-03-04 23:23:35 +08:00
@juju 在 oc 中自定义 webview 的 userAgent 字段,然后在网页中使用 js 获取 userAgent 来判断。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/193542

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX