javascript işlevi doğru davranmak değil

5 Cevap php

Ben bu küçük işlevi var

function makewindows(){
child1 = window.open ("about:blank");
child1.document.write("<?php echo htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); ?>");
child1.document.close(); 
}

Ben denemek olursa olsun, hangi sadece php kod sonucu html kaynağı olarak php kod çıkışları değil. Bu önceden iyi çalışıyordu, ve ben bu davranışa neden ne değişti emin değilim.

Ben şimdi tüm kodu yapıştırdığınız. Bir hata doğru çözümlenen olmaktan makeWindows önlenmesi, updateByQuery çağıran bir bağlantı tarafından oluşturulan .. sanırım. Ancak updateByQuery yanlış nedir emin değilim:

function updateByQuery(layer, query) {
   url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random();
   update(layer, url);
}

5 Cevap

Diğerleri zaten söylediler gibi, hala PHP tarafından bir dosyaya sahip varsayalım. Sonra muhtemelen php tagını kalmaz php-ayrıştırıcı karıştıran bu kod parçacığını üstünde bir şeydir.

Test etmek için, belki sadece bir yorum ya da bir şey, bu işlevi önce başka bir şey çıktı çalışın.

Ayrıca, İSTEMCİ1 önce "var" kullanın veya başka istemci1 küresel kapsamda olacak.

update 1 Since you tried to insert a piece of php-code and it broke, then the problem is that the server don't parse the file as it should.

. Sunucu gerçekten js dosyaları ayrıştırır olmadığını test etmek için (onun değil ben inanıyorum varsayılan ayar), yeni bir dosya oluşturun: test.js

<?php echo "This is a test"; ?>

Tarayıcınızda test.js dosyasını açın ve sayfa kaynağına bakmak. Bu php etiketleri varsa sunucu çözümleme değil. Js dosyaları.

update 2 If the php works in .js files, try to rewrite the function like this (sorry I have not tested it because I don't have access to a php-server right now)

<?php    
echo "function makewindows(){var child1 = window.open (\"about:blank\"); " .
"child1.document.write(\"" . htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES) . "\");" . "child1.document.close(); }";    
?>

Son zamanlarda bir PHP çözümlü dosyası olarak (yani .phtml / .php) dışında ve bir. Js dosyasının içine bu dosyayı taşındı mı? Eğer idam beklediğiniz herhangi bir PHP müşteriye tesliminden önce PHP parser tarafından ayrıştırılması gerektiğini unutmayın. Bir. Php dosyasında başlangıçta olsaydı, o zaman idam / ayrıştırılır, ve çalışıyor olurdu.

Ancak,. Js dosyaları PHP tarafından, varsayılan olarak, değildir. Belki de, bir noktada, ama sunucu yöneticiniz son zamanlarda bir şey yükseltilmiş, ve bu davranışı kaybetti? Sen yeniden etkinleştirmeniz için (Apache,. Htaccess) yerel bir yapılandırma dosyası kullanmak mümkün olabilir.

Bu kod tarayıcıya gönderilmeden önce PHP tarafından bir dosya olmalıdır. Bir ". Php" uzantısını (ya da diğer Apache / (veya) PHP ile kullanıyor ne olursa olsun uzantısı koymak için yapılandırılmış olduğundan) olduğundan emin olun. Ayrıca, PHP yüklü olduğundan emin ve doğru çalışma yapmak.

Make sure you are running the page from the webserver gibi gibi: http://localhost/yourpage.php ve doğrudan değil gibi dosyanın kendisinde böyle: file://yourpage.php

Ben bu yardımcı olacaktır emin değilim, ama en iyi uygulamalar JavaScript kullanarak yeni bir pencerede yazmak ne zaman, belgeyi açmak ve kapatmak gerektiğini dikte. Bunu deneyebilir miyim?

function makewindows(){
  var child1 = window.open ("about:blank");
  child1.document.open();
  child1.document.write("<?php echo htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); ?>");
  child1.document.close(); 
}