2009-06-14 16 views

Trả lời

10

Bạn không thể.

Có một dự án Mozilla tương tự tên là XULRunner, nhưng HTA chỉ hoạt động trong Internet Explorer - hai công nghệ không tương thích.

Để làm rõ điều này: HTA có thể sẽ không hoạt động trong bất kỳ thứ gì không phải là IE. Có, HTA là một điều khiển trình duyệt trong một cửa sổ, nhưng nó cũng có đặc quyền aplication bình thường (tức là truy cập hệ thống tập tin, đăng ký, thực thi mã arbirary vv). Khi chạy trong trình duyệt, những đặc quyền này bị từ chối (vì lý do tốt - bạn không muốn bất kỳ trang web nào đọc tệp của bạn).

Vì vậy, việc khởi chạy HTA trong trình duyệt sẽ hoạt động, nhưng mọi tương tác với hệ thống cục bộ sẽ không thành công, điều này phủ nhận toàn bộ ý tưởng. Việc khởi chạy một HTA trong XULRunner cũng sẽ thất bại, bởi vì XULRunner sử dụng một API hoàn toàn khác.

Kịch bản duy nhất có thể hoạt động là: ứng dụng web không sử dụng bất kỳ API cụ thể hoặc XULRunner cụ thể nào của HTA (ví dụ như ứng dụng trình duyệt thông thường). Trong trường hợp này, ứng dụng của bạn có thể hoạt động với HTA, XULRunner, cũng như trong mọi trình duyệt. Ngẫu nhiên, điều này sẽ lấy đi bất kỳ lợi thế của việc sử dụng HTA và giới thiệu lỗ hổng bảo mật vì các đặc quyền cao hơn; bạn nên sử dụng Google Chrome hoặc Mozilla Prism cho điều đó.

(Chúng tôi đã cố gắng để tìm một giải pháp qua trình duyệt một thời gian, và HTA chắc chắn không phải là nó)

0

Tôi tin lưu trữ các ứng dụng HTA Internet Explorer của công trình vì chủ HTA của họ được đăng ký để xử lý sự mở rộng. Nếu điều này thực sự là trường hợp sau đó trong theroy một máy chủ khác có thể được sử dụng

Vì mục đích hoàn chỉnh, tôi nên lưu ý rằng tôi không có kinh nghiệm trong việc phát triển các ứng dụng HTA và dựa trên sự hiểu biết của tôi về hệ điều hành Windows

2

Nó không phải là quá nhiều mà IE lưu trữ bất cứ điều gì, nhưng mshta.exe lưu trữ các thành phần nó chia sẻ với IE. MSHTA là một máy chủ tập lệnh , giống như CScript và WScript. Trong khi IE cũng là một máy chủ tập lệnh (theo nghĩa hẹp nhất) mục đích chính của nó là trở thành một trình duyệt Web.

Dự án Mozilla được đề cập trước đây là giải pháp thay thế gần nhất mà tôi đã tìm thấy dựa trên nội dung của trình duyệt.

Máy chủ tập lệnh khác cũng tồn tại trong cửa sổ. Một trong số này là NS Basic/Desktop nhưng nó dựa trên các điều khiển Windows tiêu chuẩn, không phải hiển thị trình duyệt và DOM HTML.

6

Tôi đã giải quyết nhiệm vụ liên quan đến việc chạy hta từ các trình duyệt khác nhau. Tôi đã đặt những phát hiện của tôi ở đây cho bất kỳ ai khác đang cố gắng làm điều đó và tìm thấy câu hỏi này.

Bạn có thể chạy hta từ một số trình duyệt, sử dụng cùng một thực thi mshta mà IE sử dụng. Bạn cần URI đủ điều kiện trong mã hta, không cần thiết từ IE.

Hôm nay (2011/02/01) Tôi cố gắng sử dụng của hta từ Firefox (3.6.13), Opera 11Safari cho Windows 5.0.3.

Sau khi một số vấn đề mọc răng trong Firefox Tôi đã nhận được hta để làm việc từ các trình duyệt đó. (Trong mọi trường hợp, những sử dụng mshta cùng thực thi rằng IE sử dụng. Đây là hoạt động không hta trong các trình duyệt khác, nhưng chạy từ các trình duyệt khác hta của. Điều này có thể phù hợp với mục đích của bạn.)

Các hta bắt đầu các ứng dụng máy tính để bàn trên máy tính của tôi (giống như nó từ IE).

Trải nghiệm không hoàn hảo. Đối với IE tôi đặt đường dẫn gốc tương đối trong hta. Đối với các trình duyệt khác, bạn không thể thực hiện điều đó. Bạn cần đặt URI đủ điều kiện cho những thứ như hình ảnh, biểu tượng và biểu tượng được tham chiếu.

Vì vậy, sau một chút chỉnh sửa, tôi có hta hoạt động từ 4 trình duyệt (IE 8, FF 3, Opera 11 và Safari 5 (Windows)).

(Ảnh chụp nhanh về điều đó. Tôi đang chạy hta từ máy chủ web trên máy cục bộ.) Tôi không có kế hoạch chạy chúng từ các trang web từ xa. Các ứng dụng của Hta kích hoạt các ứng dụng cục bộ làm những việc như chỉnh sửa các trang web (bao gồm cả bản thân của hta), xác nhận các trang đó và kích hoạt các IDE. Việc thu hẹp khoảng cách giữa các trình duyệt và các ứng dụng trên máy tính để bàn là một trải nghiệm giải phóng. Tôi khuyên bạn nên sử dụng nó!)

Ghi chú:

  1. Nhóm phát triển Firefox có ghi chú về việc kích hoạt hta's khuyến khích tôi tiếp tục sau thất bại ban đầu.
  2. Để đạt được điều này trong Firefox cấu hình tôi đặt các ứng dụng HTML để chạy theo mshta.exe(gọi là Microsoft HTML Application Host, trong combo box). Ban đầu điều đó không hiệu quả. Tôi đã chọn "khác" đã chọn cùng một ứng dụng bằng tay. Điều đó có hiệu quả, mặc dù tôi có hai mục tìm kiếm giống nhau! Bạn cần mshta.exe trên máy để chạy cho bất kỳ trình duyệt nào. Tôi cho rằng cách cài đặt mshta thông thường là với IE. (mshta về bản chất là phiên bản sửa đổi của IE, có thể không phải là phiên bản hiện tại!)
  3. Các nhà phát triển Firefox đã đánh dấu mục này là nỗ lực chiến lược để loại bỏ IE khỏi Enterprise. Việc thực hiện của họ (và của Opera) buộc bạn phải sử dụng URI đủ điều kiện nhưng ngoài việc làm của hta như mong đợi.
  4. Firefox có vẻ như bộ nhớ cache phiên bản cũ của hta và không tải xuống phiên bản mới của hta, mặc dù nó dường như tải xuống nội dung nào đó! Bạn có thể cần xóa bộ nhớ cache trong quá trình phát triển.
  5. Nỗ lực đầu tiên của tôi để làm điều đó với Chrome không thành công. Điều tra thêm cho thấy Chrome không có giao diện gốc để gọi các quy trình khác, dựa trên đuôi tệp của chúng.