Something lạ đang xảy ra nhưng tôi dường như không thể lấy mã JavaScript document.getElementById
làm việc bên trong PHP ...Javascript bên trong PHP không làm việc (document.getElementById)
Ví dụ, tải mã PHP sau đây (sau đây) vào một tập tin PHP và chạy nó, không có cảnh báo JavaScript? Nhưng nếu bạn sao chép mã nguồn mà PHP đã lặp lại (hoặc được in) và chạy nó như một tệp HTML thì có một cảnh báo JavaScript? Vì vậy, bất kỳ phần tử nào được tạo bên trong các thẻ PHP không chạy trong JavaScript, ngay cả khi JavaScript được giữ bên ngoài các thẻ PHP?
Đây là mã PHP demo:
<?php
print "
<iframe id='my_id' name='my_id' src='http://www.php.com/'></iframe>
<SCRIPT LANGUAGE='javascript'>
document.getElementById('my_id').contentWindow.onload = function(){
alert('content loaded');
}
</SCRIPT>
";
?>
Nó thậm chí không hoạt động nếu chỉ đây là mã của bạn:
<iframe id='my_id' name='my_id' src='<?php echo"http://www.php.com/"; ?>'></iframe>
<SCRIPT LANGUAGE='javascript'>
document.getElementById('my_id').contentWindow.onload = function(){
alert('content loaded');
}
</SCRIPT>
Đây là mã nguồn mà xuất hiện (theo yêu cầu) (Ngoài ra, contentWindow.onLoad
đang hoạt động tốt đối với nội dung không thuộc cùng một tên miền như tôi trong Safari):
<iframe id='my_id' name='my_id' src='http://www.php.com/'></iframe>
<SCRIPT LANGUAGE='javascript'>
document.getElementById('my_id').contentWindow.onload = function(){
alert('content loaded');
}
</SCRIPT>
Vấn đề của tôi là trong HTML mã này hoạt động tốt và cảnh báo được gọi là .... trong PHP mã không hoạt động và cảnh báo không bao giờ được gọi là ... Có một cái gì đó sai với cách xử lý PHP document.getElementById
, không có gì sai với .contentWindow.onload
.
_ "Vì vậy, bất kỳ phần tử nào được tạo bên trong các thẻ PHP không chạy trong javascript, ngay cả khi javascript được giữ bên ngoài các thẻ php?" _ - Trình duyệt không biết hoặc quan tâm phần nào của phản hồi được tạo động trong các thẻ ' php' và phần nào là tĩnh. _ "Nhưng nếu bạn sao chép mã nguồn mà php lặp lại" _ - Bạn có thể cho chúng tôi biết chính xác những gì được lặp lại như được nhìn thấy từ tùy chọn View Page Source của trình duyệt không? – nnnnnn