跳转到天猫客户端

NSString *urlString = @"http://detail.tmall.com/item.htm?spm=a215v.7217581.610138.10.sO6nZp&id=36615660686&areaId=410100&cat_id=2&rn=ebe1860b08257aacbac424ed12d5208c&user_id=1098342976&is_b=1";
            NSURL *url;
            if([urlString rangeOfString:@"detail.tmall."].location != NSNotFound)   //判断Url是否是天猫商品的链接
            {
                NSRange range = [urlString rangeOfString:@"id="]; //在URL中找到商品的ID
                if(range.location != NSNotFound)
                {
                    NSString *productID = [urlString substringWithRange:NSMakeRange(range.location + 3, 11)];
                    NSString *appUrl = [NSString stringWithFormat:@"tmall://tmallclient/?{\"action\":\"item:id=%@\"}", productID];
                    url = [NSURL URLWithString:[appUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
                    if ([[UIApplication sharedApplication] canOpenURL:url])
                    {
                        // 如果已经安装天猫客户端,就使用客户端打开链接
                        [[UIApplication sharedApplication] openURL:url];
                    }
                    else
                    {
                        //客户手机上没有装天猫客户端,这时启动浏览器以网页的方式浏览该商品。
                        url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
                        [[UIApplication sharedApplication] openURL:url];
                    }
                }
            }

时间: 2024-10-11 07:45:15

跳转到天猫客户端的相关文章

weixin://connectToFreeWifi/?apKey=协议如何跳转到微客户端打开在wifi指定任意网页?

代码如下使用:<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=0"> <meta name="apple-mobile-web-app-capable"

服务器端跳转与客户端跳转的区别

Jsp中有两种跳转方式(这里只写的简单的不传参数的方式): <1><jsp:forward page="URL"  flush="true">(服务器端跳转) <2>response.sendRedirect("url");(客户端跳转) 这两种方式的区别可以用下图来表示: 客户端跳转时,直接由客户端执行跳到另一页,在url地址中不会显示跳转之后的地址:服务器端跳转时,客户端会把跳转请求告诉客户端,有客户端自己

客户端跳转和服务器跳转的区别以及各位困惑的在哪用

客户端跳转与服务器端在哪用forward是服务器请求资源,就是把所有参数都带上.服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址. redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重sendRedirect: 这个只是跳转,但是没有把查询参数带上,如果你想带参数的话,就得自己构造URL,就是那个location. 客户端跳转与服务器端跳转的区别 客户端跳转时用Ht

服务端跳转和客户端跳转的区别

客户端跳转时用HttPservletResopse对象的sendRedirect函数实现,服务器端跳转是使用RequestDispather对象的forward方法实现的.这两者之间的区别主要体现在三个方面: 1. 使用服务器端跳转时,客户浏览器的地址栏并不会显示目标地址的URL,而是用客户端跳转时,地址栏当中会显示目标资源的URL: 2. 服务器端跳转是由客户端发送一个请求,请求一个服务器资源--如JSP和Servlet--,这个资源又将请求转到另一个服务器资源,然后再给客户端发送一个响应,也

聊聊淘宝天猫个性化推荐技术演进史

引言:个性化推荐技术直面用户,可以说是站在最前线的那个.如今,从用户打开手机淘宝客户端(简称"手淘")或是手机天猫客户端(简称"猫客")的那一刻起,个性化推荐技术就已经启动,为你我带来一场个性化的购物之旅.本文将细数个性化推荐的一路风雨,讲讲个性化推荐技术的演进史. 本文选自[<尽在双11--阿里巴巴技术演进与超越>. 1.个性化推荐All-in无线 无线个性化推荐起步于2013年10月.现在往回看,当时的阿里很好地把握住了移动端快速发展的浪潮,以集团A

支付宝Block 支付跳转

#import <Foundation/Foundation.h> @class Order; typedef void (^ResultBlock)(Order *resultOrder); @interface AlipayService : NSObject +(instancetype)shareService; /** * 支付动作,跳转到支付客户端 * * @param sourceOrder 支付定单 * @param resultBlock 结果定单 */ -(void)pay

jsp中几种跳转方式和参数共享

整理了一下jsp入门中的跳转和数据共享问题,写成这篇博文希望对大家有帮助,参考文章列在后面: 常用的跳转方式有以下几种: (1)href超链接标记,属于客户端跳转 (2)使用javascript完成,属于客户端跳转 (3)提交表单完成跳转,属于客户端跳转 (4)使用response对象,属于客户端跳转 (5)使用requestDispatcher类,属于服务器跳转 下面一一来看 (1)href超链接标记 这个比较简单,通常写到a标签里即可,来完成指定位置的动态跳转比较方便 代码:<a href=

基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(1:概述)

本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以  SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客户端应用程序的设计与开发. 目录: http://www.cnblogs.com/sheng_chao/p/6084144.html 前言: 可能是接触计算机比较早,从96年左右386开始,到 Trubo C,以及后来的Foxpro.VB.Delphi,一直以来似乎都有一种客户端程序情节,喜欢写客户

Servlet中的跳转(redirect和forward)

Forward是通过RequestDispatcher对象的forward(HttpServletRequest request,HttpServletResponse response)方法来实现的 RequestDispatcher dispatcher = request.getRequestDispatcher("/servlet/welcom.jsp"); dispatcher.forward(request,response); getRequestDispatcher()