防止智能应用横幅在iPad上显示

时间:2013-07-18 11:09:37

标签: javascript html iphone ios6 meta

我有一个网站,在iOS上使用HTML元标记显示智能应用横幅。我希望横幅只出现在iPhone和iPhone上。的iPod。

如何防止它出现在iPad上?

Apple资源: http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html

我正在使用的代码(来自Apple资源):

<meta name="apple-itunes-app" content="app-id=myAppStoreID">

2 个答案:

答案 0 :(得分:3)

您必须使用Javascript执行此操作,因为没有正确的方法仅在HTML中执行平台检测。

删除HTML代码中的元标记并使用以下代码段,或者只是使用它的一部分,无论您喜欢什么。如果你想“按原样”使用它,请将它粘贴在身体的底部。

(function($){
  var is_iPad = navigator.userAgent.match(/iPad/i) != null;

  // Fill in your Apple-App stuff here
  var app_id = "<YOUR_APPLE_APP_ID>",
      affiliate_data = null,
      app_argument = null;

  // exclude iPad
  if(!is_iPad) {
    var meta = $("<meta>"), content = 'app-id=' + app_id;
    meta.attr('name', 'apple-itunes-app');

    // Optional stuff (only when filled in)
    if(affiliate_data) content += ', affiliate-data=' + affiliate_data;
    if(app_argument) content += ', app-argument=' + app_argument;

    // Apply
    meta.attr('content', content);
    $('head').append(meta);
  }
}(jQuery));

答案 1 :(得分:-2)

编写此方法以了解您的应用当前正在运行的设备

// in .h file
+ (BOOL) isIdiomIsIPad; 

// in .m file  
+ (BOOL) isIdiomIsIPad
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
    return YES;
else
    return NO;
}

然后您应用自定义的方法使用此

if([[Global isDeviceType] isEqualToString:iPad])
{
    //do what you want 
   // Global is class name where method was defined, write your class name in which you define that method and import it where you are wiring this code
}