: dinamik global var olan javascript yük
kullanan harici JavaScript yüklemek küresel değişkene
- istenen değerlerin harici javascript (Google Blockly kullanarak) olarak görünür:
Blockly.Blocks[block_name+'_autogetter_state'] = { init: function() { this.setName(block_name); } };
ve genel değişkeni block_name olduğu gibi değişkeni geçtiği için değişkeni geçti ve değerini değil. Yani javascript'i iki kez çağırırsam ve HTML'ye yüklerseniz, her iki bloğun da aynı görünüyor. AJAX
$('#htmlElement').append('<script src="' + jsURL + '" type="text/javascript"><\/script>');
ve ayrıca daha sonra <script>
etiketi arasında HTML yüklemek:
<script> var block_name='';</script>
<div id="htmlElement">
<script>
block_name='A';
Blockly.Blocks[block_name+'_autogetter_state'] = {
init: function() {
this.setName(block_name);
}
};
block_name='B';
Blockly.Blocks[block_name+'_autogetter_state'] = {
init: function() {
this.setName(block_name);
}
};
</script>
</div>
yaparken adıyla bloğu kullandığınızda A ve ikinci B. Eğlence kısım geliyor: gibi
böylece ithal kod sonra görünüyor Bir sistem çalışır, bu nedenle sistem A adında bir bloğu bilir, ancak B ismiyle görüntülenir.
Aynı zamanda asenkron olarak yüklenirken, global değişken A yarısı ile doldurulur ve B yöntemi olurken arka arkaya işlevler kullanılır. .Blocks devraldı ve B ...
Ama şimdi, global değişkeni içe aktardığım javascript'e aktarma ile ilgili bir sorun olmadığından emin olmak istiyorum ... Yaratıcılığım bu davada oldukça geçtiğim için herhangi bir öneriye açığım var ...
Sorun nedir açık değil. – charlietfl
Merhaba charlietfl, birkaç denemeden sonra çalışmayı yaptım ve senin çözümün doğruydu, neler olduğunu anlatan başka bir açıklama yapabilir miydin? Görebildiğim gibi, global değişkenleri kullanmanın bir hatasıydı, çünkü sizin çözümünüzde forEach işlevinin özel değişkeni kullanılır, böylece Bloklar işlevleri global olmadıkları için aynı değişkenlerden geçmez. Doğru mu? Çok teşekkür ederim! – Wenza
Ayrıca üzgünüm, önceki yorum yarısı bitmişti ve bunu geçtim, daha sonra sınama yaparken sildim testini yaparken gördüm, bu yüzden muhtemelen eski yorumun parçasını gördün – Wenza