سؤال

لدي هذه الوظيفة الصغيرة

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

التي مهما حاولت ببساطة النواتج رمز php html المصدر ، وليس نتيجة رمز php.هذا كان في السابق يعمل بشكل جيد, و أنا غير متأكد ما يجب تغييره إلى نتيجة في هذا السلوك.

يجب لصق كل رمز الآن.يتم إنشاء خطأ عن طريق رابط الدعوات updateByQuery ، ومنع makewindows من يتم تحليل بشكل صحيح..أعتقد.أنا لست متأكدا ما هو الخطأ مع updateByQuery ومع ذلك:

function updateByQuery(layer, query) {
   url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random();
   update(layer, url);
}
هل كانت مفيدة؟

المحلول

أظن أنك لا زلت في ملف تحليل بواسطة PHP ، مثل الآخرين بالفعل قال.ثم هو على الأرجح شيء فوق هذا مقتطف الشفرة الذي يخلط بين php-محلل لذلك لا تعترف php-العلامة.

لاختبار ذلك ، في محاولة إخراج شيء آخر قبل هذه الوظيفة ، ربما مجرد تعليق أو شيء.

أيضا, استخدام "فار" قبل client1 أو آخر client1 سوف تكون في النطاق العالمي.

تحديث 1 منذ حاولت إدراج قطعة من php رمز وكسر ، ثم المشكلة هو أن الخادم لا تحليل الملف كما يجب.

لاختبار ما إذا كان الملقم حقا يوزع الخاص بك .js الملفات (وليس الإعداد الافتراضي أعتقد), إنشاء ملف جديد: test.js

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

فتح test.js الملف في المتصفح الخاص بك والبحث في مصدر الصفحة.إذا كان لديه العلامات php الخادم الخاص بك لا إعراب .js الملفات.

تحديث 2 إذا كان php يعمل في .js الملفات ، في محاولة إعادة كتابة وظيفة مثل هذا (آسف أنا لم تختبر ذلك لأنني لم يكن لديك الوصول إلى php-server الآن)

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

نصائح أخرى

هل انتقل مؤخرا هذا الملف للخروج من PHP تحليل ملف (أي .phtml / فب) وفي ملف شبيبة؟ لاحظ أن أي PHP تتوقع ليتم تنفيذها يجب تحليل بواسطة محلل PHP قبل التسليم إلى العميل. إذا كان الأصل في ملف فب، فإنه سيكون قد تم تحليل / أعدم، وعملت بشكل جيد.

ولكن، شبيبة الملفات ليست، افتراضيا، تحليل بواسطة PHP. ربما كانوا، في نقطة واحدة، ولكن بمسؤول الملقم تمت ترقيتها مؤخرا شيء، وخسر هذا السلوك؟ قد تكون قادرا على استخدام ملف التكوين المحلي (في Apache، هتكس) لإعادة تمكينه.

ويجب أن يكون هذا الرمز في ملف الذي تم توزيعه من قبل PHP قبل إرسالها إلى المتصفح. تأكد من أن لديها ". فب" تمديد (أو الذي تم تكوينه أباتشي / (أو غيرها) لوضع كل ما تمديد أنه يستخدم من خلال PHP). أيضا، تأكد من تثبيت PHP بشكل صحيح والعمل.

تأكد من أن يتم تشغيل الصفحة من خادم الويب مثل: http://localhost/yourpage.php وليس مباشرة من الملف نفسه مثل: file://yourpage.php

ولست متأكدا إذا كان هذا سيساعد، ولكن أفضل الممارسات تملي أنه كلما تكتب إلى نافذة جديدة باستخدام جافا سكريبت، يجب فتح وإغلاق المستند. يمكنك محاولة هذا؟

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(); 
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top