第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在刷新網(wǎng)頁之前加載 javascript

在刷新網(wǎng)頁之前加載 javascript

拉莫斯之舞 2022-12-08 15:46:47
這是我的 HTML 代碼:<script src="https://maps.googleapis.com/maps/api/js?key=mykey&callback=initMap&v=quarterly" defer></script><script src="{% static '/javascript/maplanguage.js' %}"></script>       <form action="{% url 'set_language' %}" method="post">{% csrf_token %}            <input name="next" type="hidden" value="{{ redirect_to }}" />            <select id="sel_id" name="language" onchange="this.form.submit();">            {% get_current_language as LANGUAGE_CODE %}            {% get_available_languages as LANGUAGES %}            {% get_language_info_list for LANGUAGES as languages %}            {% for language in languages %}            <option class="option" value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %} >                {{ language.name_local }} ({{ language.code }})            </option>            {% endfor %}            </select>    </form>這是為了使 Django 國際化(改變我的網(wǎng)頁的語言)。現(xiàn)在我想同時更改我的 Google 地圖 API 的語言。我試過這個。我的代碼:#maplanguage.jsdocument.getElementById('sel_id').addEventListener('change', () => {        let lang = $(this).find('option:selected').val();//        console.log(lang);//        alert("You have selected the language code: " + lang);但問題是:當(dāng)我從下拉列表中選擇一個選項時,頁面將立即刷新。然后我無法在 JS 中獲取“l(fā)ang”的值。[這意味著“警報”可以在刷新頁面之前起作用,但是“console.log”沒有任何內(nèi)容。那么我怎么能讓我的頁面等待我的 JS 呢?
查看完整描述

1 回答

?
翻翻過去那場雪

TA貢獻(xiàn)2065條經(jīng)驗 獲得超14個贊

在您的 HTML 中,每次更改選擇時都會提交您的表單。表單的提交意味著整個頁面都會刷新,所以即使你改變了google map語言,頁面刷新后它也會丟失。(除非您先將其存儲在某個地方)。


有幾種方法可以解決這個問題:


您應(yīng)該讓頁面刷新并通過 Django 在 head 腳本中設(shè)置全局值,并使用它來設(shè)置 Google 地圖的語言。

IE


<script>

var lang = {% currentLang %}

</script>

將 lang 設(shè)置為本地存儲(或 cookie)后提交表單。然后當(dāng)頁面刷新時,lang從本地存儲中獲取并將其傳遞給谷歌地圖。注意下面是一些偽代碼,需要驗證表單是否仍在該函數(shù)中提交。

IE


<script>

function onSelectChange() {

  var elem = document.getElementById('sel_id');

  var langValue = elem.options[elem.selectedIndex].value;

  localStorage.setItem('lang', langValue);

  this.form.submit();

}

</script>

<select onchange="onSelectChange">...

使用鍵從本地存儲中獲取值


<script>

var lang = localStorage.getItem('lang');

</script>


查看完整回答
反對 回復(fù) 2022-12-08
  • 1 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號