2009-02-10 30 views
12

Làm thế nào để mở một hộp thoại nhắc trong WSH usig JScript ??Hộp thoại nhắc trong WSH bằng JScript?

Hộp thoại bật lên duy nhất tôi tìm thấy trong tài liệu là phương thức WshShell.Popup(). Nhưng tôi cần một cách để yêu cầu người dùng nhập một chuỗi, như phương thức window.prompt() trong DOM.

Cảm ơn.

+2

Chào mừng bạn đến với Stackoverflow! Không cần đặt [WSH] [JScript] vào tiêu đề câu hỏi của bạn. – Albert

Trả lời

16

Tôi nghĩ đối tượng WScript không cung cấp phương thức như vậy tuy nhiên bạn có thể hiển thị hộp nhập liệu từ VBScript chạy trên WSH. Vì vậy, đây là một giải pháp có thể cho phép bạn gọi hàm VB đó từ bên trong JS! Xin lưu ý phần mở rộng tệp cho đoạn mã sau ".wsf".

<!-- Test.wsf --> 
<job id="InputBoxInJS"> 
    <script language="VBScript"> 
     Function VBInputBox(promptText) 
     VBInputBox = InputBox(promptText) 
     End Function 
    </script> 

    <script language="JScript"> 
     WScript.Echo("Hello from JScript") 
     var x = VBInputBox("Enter text") 
     WScript.Echo(x) 
    </script> 
</job> 
+0

Cảm ơn. Điều này không nên phụ thuộc vào ngôn ngữ bạn sử dụng, nhưng trên môi trường nơi bạn đang sử dụng ngôn ngữ. Điều này trông giống như một vấn đề thiết kế xấu. Chỉ là một ý nghĩ. – GetFree

11

Tôi biết câu hỏi này đã được trả lời, nhưng tôi không muốn sử dụng công cụ .wsf và tôi cũng sẽ không muốn chi phí tải trình duyệt internet (như tôi đã thấy các giải pháp khác) . Tôi tìm thấy giải pháp này sử dụng Google mà tôi nghĩ là thanh lịch nhất:

http://with-love-from-siberia.blogspot.com/2009/12/msgbox-inputbox-in-jscript.html

Điều quan trọng là sử dụng ActiveXObject "ScriptControl", thiết lập ngôn ngữ để VBScript và sau đó sử dụng ScriptObject.eval() chức năng. Ví dụ trên trang web tự đứng vững.

EDIT: Đối với những người gặp phải lỗi với nguồn cấp dữ liệu 64 bit hoặc dòng, v.v., có phiên bản được cải tiến này với hướng dẫn về cách chạy (trên các hệ thống như Win7 x64) here.

+0

Câu hỏi không liên quan gì đến trình duyệt. Đó là về Windows scripting trong Windows Script Host. – GetFree

+3

@GetFree Tôi khá chắc chắn aikeru biết rằng - một trình duyệt có thể được gọi từ WSH như một giải pháp khủng khiếp cho một số thứ là tất cả những gì anh ta nói. –

+0

Có, Jack Douglas là chính xác. Quan điểm của tôi là trong khi nó có thể sử dụng ActiveX và Internet Explorer để tạo ra một popup javascript và tôi đã nhìn thấy mọi người làm điều này - nhưng tôi nghĩ rằng nó khủng khiếp, rất nhiều chi phí, rất nhiều tiềm năng cho các vấn đề không lường trước được. Tôi muốn trình bày một giải pháp thay thế cho cả điều đó và WSF (đó là câu trả lời đã chọn). Nếu câu trả lời của tôi không rõ ràng, tôi hoan nghênh các đề xuất hoặc thậm chí có thể là 'chỉnh sửa'. :) – aikeru

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