2014-05-22 32 views
5

Câu hỏi trước về chủ đề tương tự này không hoạt động đối với tôi và hầu hết trong số chúng không được trả lời.Mở liên kết trang facebook trong trình duyệt hoặc ứng dụng gốc chính xác IOS cordova

Tôi muốn đưa người dùng đến trang facebook bằng cách nhấp vào nút. Cập nhật facebook được cài đặt trong iphone, cordova mới nhất được cài đặt, plugin inappbrowser được sử dụng. Bây giờ mã của tôi là

window.open('https://www.facebook.com/latechnologies', '_system','location=yes'); 

Điều này hoạt động hoàn hảo trên Android. Nhưng trong IOS liên kết được bắt bởi ứng dụng facebook quốc gia và đưa tôi đến tường facebook của việc sử dụng không phải là nguồn cấp dữ liệu trang. Điều đó có nghĩa là nó chỉ mở ứng dụng gốc, nhưng không đưa đến bất kỳ trang nào.

Sau đó, tôi đã tìm kiếm và đã thử một số gợi ý

window.open('fb://facebook.com/latechnologies', '_system','location=yes'); 

window.open('fb://pages/latechnologies', '_system','location=yes'); 

window.open('fb://pages', '_system','location=yes'); 

Không ai trong số họ đang làm việc. Mỗi khi cần đến tường người dùng. Làm cách nào tôi có thể đưa người dùng đến trang facebook? Ứng dụng hoặc trình duyệt gốc không quan trọng. Chỉ muốn đưa người dùng đến trang .....................

+0

phiên bản ur cordova? – kathir

+0

@kathir cordova 3.4.1 – AtanuCSE

Trả lời

9

Đối với tôi, sử dụng id trang Facebook thay vì tên trang hoạt động tốt, ví dụ:

window.open('https://www.facebook.com/1401408870089080', '_system'); 
+3

Chỉ hoạt động với ID số, ​​đây là công cụ bạn có thể sử dụng để lấy ID đó: http://findmyfacebookid.com/ –

+1

Mở trong trình duyệt; không có trong ứng dụng FB. –

+0

Nó ngừng hoạt động khi có ứng dụng facebook. Bất kì lời đề nghị nào ? Đã thử 'fb: // pages/1401408870089080' nhưng không hoạt động. –

1

Mở tệp MainViewController.m của bạn.

Chèn mã này sau @implementation và trước @end MainViewController.

- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    NSURL *url = [request URL]; 

    // Intercept the external http requests and forward to Safari.app 
    // Otherwise forward to the PhoneGap WebView 
    if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]){ 
     [[UIApplication sharedApplication] openURL:url]; 
     return NO; 
    } 
    else { 
     return [super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType]; 
    } 
} 
1

Bạn cần cài đặt một plugin để mở Apps: org.apache.cordova.inappbrowser 0.5.4 "InAppBrowser"

Sau đó bạn phải biết là những gì Id trang Facebook, cho điều này : https://graph.facebook.com/latechnologies

Đi theo số ID và thay thế tên người dùng của Fanpage: https://www.facebook.com/1382616721988023

trong đó là tất cả ...;)

Giống như câu trả lời của Jonas! Phương pháp khác nhau! :)

+0

Bạn có nghĩ câu trả lời của mình không và câu trả lời của jonas giống hệt nhau! – AtanuCSE

+0

Xin lỗi, tôi cố gắng giúp bạn. :) nếu bạn biết về các plugin InAppBrowser tôi sẽ xóa amswer của tôi. Chúc một ngày tốt lành! –

1

Sau khi thử một vài lần lặp lại và một vài gợi ý ở trên, mã sau đây đã làm việc cho tôi. window.open ('fb: // pages /,' _system ');

Ở trên được dự định để mở trang trên ứng dụng facebook (nếu nó được cài đặt).

ofcourse, tôi đã cài đặt plugin inappbrowser cordova.

Các vấn đề liên quan