Pertanyaan getScript jQuery dan sistem file lokal — batasan / alternatif?


Saat ini saya sedang mengerjakan sistem bantuan yang didasarkan pada sistem file lokal. Ini dimaksudkan untuk dikirim dengan produk yang tidak digunakan pada mesin yang mendukung internet, jadi itu harus menjadi halaman web yang berdiri sendiri, tanpa ketergantungan apa pun pada server web.

Ini memperkenalkan beberapa tantangan. Yakni, struktur direktori yang file-filenya ada mengharuskan navigasi "naik dan turun" untuk mengakses beberapa file .js yang diperlukan untuk menampilkan sistem bantuan. Penggunaan ini diimplementasikan menggunakan fungsi getScript jQuery, tetapi saya mengalami beberapa masalah menggunakan ini pada sistem file lokal.

Pada pandangan pertama, sepertinya jika halaman web saya dilayani dari direktori C: / dev / webpage / html /, dan file yang saya butuhkan ada di C: / dev / webpage / js / (topic) /file.js , Saya hanya bisa membangun jalur absolut (file: /// ...) dan meneruskannya ke fungsi getScript.

Namun, setelah menguji ini, tampaknya fungsi getScript tidak akan membiarkan saya naik level dari direktori html (di mana file html berada yang memiliki kode utama untuk halaman web). Sayangnya, saya tidak dapat mengubah struktur direktori, saya juga tidak dapat mengubah struktur / format file .js.

Apakah ada alternatif untuk memuat / mengeksekusi file javascript yang ada dalam struktur file di mana saya harus pergi "naik dan turun"?

Terima kasih,

Edit - Saya memang melihat pertanyaan ini yang mirip dengan saya, tetapi rekomendasi mengubah data ke format JSON bukanlah pilihan dalam kasus saya: Izin Ditolak menggunakan Javascript / jQuery pada file lokal 


4
2018-05-22 00:20


asal


Jawaban:


Bukannya itu tidak akan membiarkan Anda naik level ... yang juga benar dalam beberapa kasus, itu mungkin Anda memukul kebijakan asal yang sama di tempat untuk keamanan. Berikut ini beberapa solusi / pilihan yang Anda miliki.

Pilihan 1

Pilihan jangka panjang terbaik Anda untuk ini adalah untuk mengatur server web pada kotak, mengedit / menyimpan file seperti yang Anda miliki, tetapi melihatnya melalui http://localhost url. Ini akan menjadi cara termudah untuk mendapatkan apa yang Anda inginkan jika Anda melakukan banyak pekerjaan HTML / CSS / JS di jalan.

pilihan 2

Atau, Anda bisa memuat halaman Anda di chrome (mungkin browser lain) dan nonaktifkan kebijakan itu sehingga Anda dapat menyelesaikan beberapa pekerjaan (buat pintasan yang berbeda untuk pengembangan, bukan penggunaan umum!).

Untuk Chrome Anda menonaktifkannya dengan mengedit pintasan dan menambahkan --disable-web-security ke baris perintah Anda, misalnya:

C:\Users\USERHERE\AppData\Local\Google\Chrome\Application\chrome.exe --disable-web-security

6
2018-05-22 10:32



Mengapa tidak membangun jalur relatif saja? Jalur absolut adalah ide yang buruk, karena Anda tidak dapat yakin 100% dari jalur pemasangan. (Beberapa klien dapat menginstal ke D: misalnya.)

Jika halaman "file: //something/html/thepage.html", apakah "../js/script.js" berfungsi?


-1
2018-05-22 02:51