2017-06-23 93 views
16

Aşağıdaki JavasScript'i çalıştırdığımda, oturum açabilirim ancak modüllere erişemiyorum. Kimlik doğrulamasını onlara nasıl iletebilirim? Firefox 54 ile GET [...]mymodule.js [HTTP/1.1 401 Authorization Required 1ms] temel kimlik doğrulama sonuçları ile bir .htaccess ileJavascript ES6 modülleri .htaccess temel kimlik doğrulamasından geçmiyor

Örnek Kod

<DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
</head> 
<body> 
    <script type="module"> 
     import * as mymodule from "./js/mymodule.js"; 
     mymodule.runme(); 
    </script> 
</body> 
</html> 

Açılış bu (dom.moduleScripts.enabled, bu .htaccess olmadan çalışır).

.htaccess

AuthType Basic 
AuthName "Internal Area" 
AuthUserFile /opt/.../.htpasswd 
Require valid-user 

cevap

3

HTML Firefox tarafından önbelleğe ve olması sunucuya kimlik doğrulaması yok gibi görünüyor.

Aşağıdaki deneyebilirsiniz:


önle html dosyası önbelleğe alma. .htaccess ekle:

<filesMatch "\.(html)$"> 
    FileETag None 
    <ifModule mod_headers.c> 
    Header unset ETag 
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
    Header set Pragma "no-cache" 
    Header set Expires "Sat, 01 Jan 2000 00:00:00 GMT" 
    </ifModule> 
</filesMatch> 

kullanım PHP uzantısı HTML yerine


+0

ne .htaccess değişikliği 'index.html' - 'index.php 'olarak adlandırmak da sorunu çözdü. –

+0

İşe yaradı mı? –

0

için aşağıdaki deneyebilirsiniz: Maalesef

<script type="module" crossorigin src="./js/mymodule.js"></script> 
<script type="module"> 
    import * as mymodule from "./js/mymodule.js"; 
    mymodule.runme(); 
</script>