2009-04-13 25 views

Trả lời

5

Javascript có thể giúp bạn phát hiện trình duyệt và tìm ra UserAgent. Sử dụng ExternalInterface để làm cho Javascript nói chuyện với ứng dụng flex của bạn. Đây là một ExternalInterface tutorial.

+0

Có cách nào để thực hiện điều đó trong Flex không? Hoặc là tuyến đường EI chỉ là lựa chọn duy nhất của tôi? – DyreSchlock

+0

AFAIK, không có lớp Flex sẵn có để truy xuất trực tiếp dữ liệu trình duyệt. Ngoài ra hãy xem ví dụ này Tôi có khuynh hướng nghĩ JS + AS là con đường để đi. – dirkgently

+0

Nó sẽ không có ý nghĩa để lộ nó trong Flex, kể từ khi các ứng dụng Flex không nhất thiết phải được lưu trữ trong một trình duyệt. – Tmdean

2

javascript của bạn:

function determineBrowser() 
{ 
    // do whatever browser checks you prefer here, then return 
    // a value (a string would probably work best) that will indicate 
    // to your flash what browser it is 

    // I'm just gonna copy and paste an extremely 
    // simple one for example purposes 

    if(navigator.appName == "Netscape") 
    { 
     return "Netscape"; 
    } 
    if(navigator.appName == "Microsoft Internet Explorer") 
    { 
     return "Internet Explorer"; 
    } 

    return "Not IE or Netscape"; 
}

Actionscript của bạn:

import flash.external.ExternalInterface; 

var browser: String = ExternalInterface.call("determineBrowser"); 

Sử dụng những gì tôi đã làm, bất cứ chức năng javascript của bạn trả về là những gì biến trình duyệt trong ActionScript sẽ được, vì vậy bạn có thể nhận được bất kỳ trình duyệt dữ liệu bạn cần miễn là bạn làm cho javascript xác định nó.

Tôi khuyên bạn nên làm cho nó mạnh mẽ hơn một chút so với tôi, nhưng tôi chỉ muốn cung cấp cho bạn ý tưởng cơ bản trong các điều khoản đủ ngắn để dễ tiêu hóa!

10

bạn có thể 'nhúng' javascript của bạn bên trong mã AS3 như thế này:

var v : String = ExternalInterface.call("function(){return navigator.appVersion+'-'+navigator.appName;}"); 
var t : TextField = new TextField(); 
t.autoSize = TextFieldAutoSize.LEFT;    
addChild(t); 
t.text = v; 

textfield sẽ hiển thị infos về hoa như thế này (chrome):

5,0 (Windows; U, Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, như Gecko) Chrome/1.0.154.53 Safari/525.19-Netscape

+0

đó không phải là một ý tưởng tồi. – DyreSchlock

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