2009-04-18 37 views
6

Giả sử tập lệnh javascript của tôi không được nhúng trong html/xml ... Tôi muốn viết một thư viện nhỏ các hàm trợ giúp để sử dụng trong tập lệnh của mình. Rõ ràng là phải có từ khóa "#include" hoặc "require" trong javascript, nhưng tôi không thể tìm thấy bất kỳ từ khóa nào. Bất cứ điều gì tôi có thể với Google đều dựa vào mã là một phần của html/xml, điều này không giúp ích gì trong trường hợp của tôi. Tôi nên làm gì?Cách #include trong javascript?

+0

Bạn cần nhúng/yêu cầu gì? – James

+0

Tệp .js có nhiều chức năng ... Tôi muốn sử dụng các chức năng này trong các tệp .js khác. –

+0

Có gì sai với tải hàm (src) {var s = document.createElement ('script'); s.src = src; document.body.appendChild; s); – James

Trả lời

17

Tôi tin rằng bạn muốn viết một số loại khung theo dõi phụ thuộc cho tệp javascript của mình và sử dụng quy trình gọi là "Tải Lười" để chỉ tải tệp JS được yêu cầu khi cần.

Kiểm tra Using.js, có vẻ như bạn sẽ làm những gì bạn cần.

Bạn cũng có thể muốn kiểm tra addModule từ YUILoader. Nó cho phép tải các thành phần khung không phải YUI khi đang di chuyển.

+1

Cảm ơn !! Sử dụng âm thanh tốt. –

+1

bạn phải bao gồm Sử dụng.js trước tiên! – dfa

+0

Nhưng chờ đợi - không phải những thư viện này về cơ bản chỉ thêm thẻ tập lệnh vào phần đầu của tài liệu? - và do đó chỉ làm việc với JavaScript được phân tích cú pháp trong ngữ cảnh của DOM (tức là một dự án web)? OP không làm công việc trên web, anh ấy đang sử dụng JavaScript cho một thứ khác hoàn toàn khác. Không có tệp HTML, v.v. – BrainSlugs83

-2

để bao gồm một file js trong html:

<script type="text/javascript" src="..."></script> 

nó phải ở trong đầu trang cho đúng đắn.

+2

Bạn cũng có thể viết javascript một trong số này trong đầu. –

+4

Cảm ơn nhưng đó không phải là ý tôi. Tôi có một tập tin .js mà tôi sử dụng bên ngoài của bất kỳ mã html. Nó không dành cho web chút nào. Bây giờ tôi muốn nhập một tệp .js khác vào tệp của tôi. Làm thế nào để làm điều đó? –

+0

Ah, ok thì câu trả lời là không. Bạn sẽ phải bao gồm mã trực tiếp trong js hoặc sử dụng trang html gật đầu để ghép các tệp js lại với nhau (và cung cấp giao diện người dùng). –

2

Thực sự không thực sự là #include hoặc yêu cầu trong javascript. Bạn thực sự phải tự mình xử lý tất cả các phụ thuộc. Tôi đã nhìn thấy mọi người làm một hack, nơi họ làm một document.write để bao gồm các tập tin javascript khác.

-1

trong trường hợp bạn quan tâm, ở đây có một phiên bản của bao gồm sử dụng các đối tượng tài liệu qua đó là giao diện DOM:

function include(aFilename) { 
    var script = document.createElement('script'); 
    script.src = aFilename; 
    script.type = 'text/javascript'; 
    document.getElementsByTagName('head')[0].appendChild(script) 
} 

vấn đề là bạn phải bao gồm chức năng này trong tất cả các tập tin nguồn của bạn mà cần bao gồm ...: P: P

+0

aFilename không được tham chiếu từ bên trong tập lệnh. Và điều này hữu ích như thế nào? –

+0

bao gồm nên có một cuộc gọi trở lại .. bởi vì khi chúng tôi đang bao gồm trong cách trên, chúng tôi không bao giờ biết nếu tất cả các tập tin cần thiết đã được bao gồm trước khi bạn đang được sử dụng. Sẽ thích sử dụng các hàm YUI.add() và YUI.use() –

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