2010-06-16 2 views
41

Có thể khởi chạy ứng dụng từ trình duyệt không? Tôi không nói về việc mở một tệp từ trình duyệt (như mở một tệp PDF bằng Adobe Reader), mà là mở một phiên bản mới (trống) của ứng dụng được cài đặt trên máy của người dùng.Cách khởi chạy ứng dụng từ trình duyệt?

Tình huống giả thuyết: Người dùng duyệt một trang web liệt kê các máy tính có thể được quản lý thông qua RDP. Anh ta nhấp vào một liên kết đến 192.168.1.10, liên kết đó sẽ mở Microsoft RDP client (mstsc.exe) với địa chỉ IP đó đã được điền đầy đủ.

Tôi đang nói đúng về vũ trụ Windows.

Điều đó thậm chí có thể thực hiện được bên ngoài ActiveX và IE không?

Bạn có nên thử tính năng này trong IE bằng ActiveX không?

+0

http: // ROBLOX .com là một trang web chơi game mà mọi người dùng đều phải cài đặt ứng dụng khách của họ và truy cập trang web của họ để khởi chạy ứng dụng trò chơi. Vì vậy, họ có nó thiết lập nơi họ khởi động một ứng dụng trực tiếp từ trang web của họ. Tôi đã xem qua nguồn của họ và họ không làm theo cách mà brendan nói ... – georgiaboy82

+0

@ georgiaboy82, kiểm tra xem ứng dụng được cài đặt hay không là công việc của nhà phát triển giao diện người dùng hoặc nhà phát triển phụ trợ? – SaiUnique

Trả lời

5

Bạn thực sự không thể "khởi chạy ứng dụng" theo đúng nghĩa. Bạn có thể như bạn đã chỉ ra yêu cầu người dùng mở tài liệu (ví dụ: PDF) và cửa sổ sẽ cố gắng sử dụng ứng dụng mặc định cho loại tệp đó. Nhiều ứng dụng có cách để thực hiện việc này.

Ví dụ: bạn có thể lưu kết nối RDP dưới dạng tệp .rdp. Đặt liên kết trên trang web của bạn vào một thứ như thế này sẽ cho phép người dùng khởi chạy ngay vào phiên RDP:

<a href="MyServer1.rdp">Server 1</a> 
+0

Tôi chỉ đang học những gì ActiveX là và tôi đỏ mà nó có thể được sử dụng để chạy các ứng dụng bên trong một trình duyệt. Vì vậy, điều này không nên có thể? Tôi đã thử làm theo các hướng dẫn này để khởi chạy Notepad từ trình duyệt, mặc dù nó không hoạt động. http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application – Celeritas

1

Chúng tôi sử dụng vpn sonicwall. Nó khởi chạy một applet java khởi chạy mstc với tất cả các thiết lập thông tin đăng nhập. Bạn thực sự không thể làm điều này nếu không có một applet java hoặc plugin activex.

Microsoft sử dụng kỹ thuật này trên máy chủ doanh nghiệp nhỏ của họ để vào trong mạng. Tôi sẽ không nói đó là một ý tưởng khủng khiếp, miễn là nền tảng độc lập không quan trọng.

0

Một số ứng dụng tự khởi chạy theo giao thức. như itunes với liên kết "itms: //". Tôi không biết tuy nhiên làm thế nào bạn có thể đăng ký với các cửa sổ.

+0

Tôi biết chủ đề này là cũ, tôi có cùng một vấn đề. Có rất nhiều thông tin về cách cài đặt trình xử lý giao thức, nhưng tôi không thể thực hiện điều đó trên máy tính của mọi người (theo nghĩa đen sẽ giết tôi ...) – nurchi

+0

bạn không nên làm điều đó theo cách thủ công trên mọi máy của người dùng . Đây là những gì ứng dụng của bạn nên làm trong quá trình cài đặt. – Mikhail

1

Tôi đã đạt được điều tương tự bằng máy chủ web cục bộ và PHP. Tôi đã sử dụng tập lệnh có chứa shell_exec để khởi chạy ứng dụng cục bộ.

Ngoài ra, bạn có thể làm một cái gì đó như thế này:

<a href="file://C:/Windows/notepad.exe">Notepad</a> 
+18

Lưu ý rằng 'shell_exec' sẽ chạy các ứng dụng trên máy chủ web. Đối với liên kết, nó thường làm cho tập tin được tải xuống. –

-4

Bạn có thể sử dụng như sau:

<a href="c:\windows\Notepad.exe" 
type="application/octet-stream">Launch Notepad</a> 

Từ những gì tôi nhớ sử dụng file: // bị chặn bởi Chrome và Firefox.

+3

Điều này sẽ (vô dụng) tải xuống (copy) notepad.exe, không chạy nó. –

1

Bạn có thể sử dụng Silverlight để khởi động một ứng dụng từ trình duyệt (điều này sẽ chỉ hoạt động trên IE và Firefox, phiên bản mới của chrome không hỗ trợ này)

Ví dụ mã here