[英]Call custom JS alert inside PHP
我使用自定义提醒JavaScript。 我想在php中调用此javascript。 我收到了基本警报,但无法启动自定义警报。
此代码有效。 如果我的文件路径为空,它将打开一个警报窗口
<?php
$albums_json_file1 = site_path . DIRECTORY_SEPARATOR . 'users' . DIRECTORY_SEPARATOR . $username . DIRECTORY_SEPARATOR . 'main.json';
if (!empty($albums_json_file1))
echo "<script type='text/javascript'>alert('message')</script>"
?>
此代码不起作用
<?php
$albums_json_file1 = site_path . DIRECTORY_SEPARATOR . 'users' . DIRECTORY_SEPARATOR . $username . DIRECTORY_SEPARATOR . 'main.json';
if (!empty($albums_json_file1))
echo "<script> swal('REGISTRATION SUCCESS!', 'You are now being redirected to the payment screen!', 'success'); </script>"
?>
在我的网页中,我具有自定义警报的脚本源,如果仅在网页中添加此代码,则弹出警报会起作用,但我需要它来检查站点路径并仅在警报为空时返回警报。
这是常规脚本。 如果将其放在网页正文中,则会弹出警报。
<script>
swal("REGISTRATION SUCCESS!", "You are now being redirected to the payment screen!", "success");
</script>
您的html从上到下加载。
将swal()
声明移至标头,以便可以在正文中的任何位置使用它。
因此,您的PHP回声可能在声明swal()
例:
<script>swal('Does not work');</script>
<script>
var swal = function(txt){
alert(txt);
}
</script>
<script>swal('Works');</script>
原因alert();
起作用的原因是,这适用于您的整个文档。
在第一个示例中,您将始终收到警报,因为您编写警报的方式永远不会为空。 您应该检查它是否创建有效的文件路径,而不是检查字符串是否为空(永远不会为空)。 使用file_exists()
而不是empty()
。
我敢打赌,问题在于您生成的文件路径不正确。
编辑-我不允许发表评论,但作为对其他答案的回应-将JS放在标头中是不好的做法。 它将减慢页面加载速度。 如果确实存在此问题,则应在页脚中放置一个onload调用,并将所有JavaScript放入其中。
window.onload = function(){
// Put codes here
};
以便在执行任何脚本之前加载页面内容。
就是说,这不是您遇到的问题,因为您说手动将swal()
调用放入正文中是swal()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.