2013-09-05 41 views
6

InAppBrowser js script injection bằng cách sử dụng {code: 'some code'} param đang hoạt động hoàn hảo nhưng không hoạt động với thông số {file: 'local file url'}.Kịch bản lệnh InAppBrowser (sử dụng executeScript)

làm cách nào để chuyển tập lệnh bằng cách sử dụng tham số tệp để chèn tập lệnh js cục bộ của tôi?

  • có yêu cầu đường dẫn tệp hoặc tương đối tuyệt đối không?
  • Phải lưu trữ tệp trên trang web của trẻ em?

Nó có vẻ như là một điều phức tạp bí ẩn để làm như tôi có một vài dòng kịch bản và không thể nhúng nó tất cả sử dụng ref.executeSript({codedetails, callback: "myscript.js"});

Trả lời

5

tôi đã cùng một vấn đề. Sử dụng cordova3.1.0.

ref.executeScript(
    { 
     file: "http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js" 
     //webURL works fine with 'file' 
    }, function() 
    {  
     $.get("js/myscript.js", function(data) 
     { //workaround to obtain code using jQuery.get 
      ref.executeScript(
      { 
       code: data 
      }, function() 
      {  
       console.log('ref.executeScript done'); 
      }); 
     }); 
    }); 

Khi tôi đặt URL tập tin như đường dẫn web http: // ....,

nó làm việc, nhưng tôi không thể tìm ra cách để chỉ các tập tin js địa phương,

nên Tôi lấy chuỗi mã bằng cách sử dụng $ .get "js/myscript.js".

Mã mẫu minh họa: jQuery đã được cài đặt trên ứng dụng Phonegap và cũng cố gắng sử dụng jQuery trên ứng dụng mục tiêu trong ứng dụng AppBrowser. Chỉ trong trường hợp.

+2

Tôi bao gồm một dòng sau ở đầu các ứng dụng PhoneGap của tôi. (Giả sử các trang bắt đầu là index.html)

'window.basePath = window.location.href.replace ('index.html', ''); '

Sau đó, khi tôi cần phải tôi tham chiếu 'basePath + 'js/handlebars/foo.js'' để tải các tập lệnh và hình ảnh từ hệ thống tập tin của điện thoại. – user495368

+0

Phải mất nhiều thời gian để tìm ra giải pháp này @Ken! –

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