V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
pysama
V2EX  ›  iDev

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

  •  
  •   pysama · 2015-05-25 13:14:55 +08:00 · 3758 次点击
    这是一个创建于 3455 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    求V友大神解答

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

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

    刚测试了,UA头是一样的,所以,没法根据UA来做差异化处理。
    anerevol
        7
    anerevol  
       2015-05-25 21:28:02 +08:00 via iPad
    Native 里面可以自定义ua的
    pysama
        8
    pysama  
    OP
       2015-05-25 22:33:26 +08:00
    @anerevol 对哦,居然忘记了自定义UA了。好思路。感谢
    juju
        9
    juju  
       2016-03-04 09:41:11 +08:00
    @pysama 楼主,您最后是怎么样解决的?
    pysama
        10
    pysama  
    OP
       2016-03-04 23:23:35 +08:00
    @juju 在 oc 中自定义 webview 的 userAgent 字段,然后在网页中使用 js 获取 userAgent 来判断。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2831 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:10 · PVG 10:10 · LAX 18:10 · JFK 21:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.