javascript 只弹窗口提示 不需要刷新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 只弹窗口提示 不需要刷新相关的知识,希望对你有一定的参考价值。

我的php 页面,需要一个弹出窗口提示,应该怎么用js写?
页面会有按钮,点击按钮后会进行判断,如果不符合条件,弹出对话框,关闭对话框后回到原页面,不要任何刷新或修改。
如果符合条件,就下载附件,或者调转一个网页也行。
我用
<script language="javascript">
var name="xxxx";
window.alert(name);
</script>
会跳转到一个空白页面并弹出框来,关闭后返回就有错误了。
就是能在原页面弹出对话框,关闭后也还是在原页面!

点击按钮后会进行判断?是会发送请求到服务器进行判断吗?如果是这样子,可以试下我的例子:
准备3个文件,两个php文件和一个txt文件(用于下载)
test02.php 发送请求
test02_02.php 接收来自test02.php的请求,判断后响应请求
test02_03.txt 用于下载演示用的
【代码】
<!-- test02.php -->
<a href="test02_02.php" target="frm1">下载</a>
<a href="test02_02.php?deny=true" target="frm1">下载(演示失败的情况)</a>
<iframe name="frm1" src="" frameborder="0" style="display:none;"></iframe>
<script>
function deny()

alert('你无权下载该文件');

</script>

<!-- test02_02.php -->
<?php if(isset($_GET['deny'])) : // 演示下载失败的情况,弹出提示框 ?>
<script>
window.parent.deny();
</script>
<?php else: // 演示文件下载的情况
$filename="test02_03.txt";
$file=fopen($filename,"r"); // 打开文件
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($file_name));
header("Content-Disposition: attachment; filename=" . $filename);
echo fread($file,filesize($filename));
fclose($file);
exit();
endif; ?>
参考技术A <script>
function test()
alert("弹出框!");

</script>
你加一个按钮点击事件来调用这个函数就可以了啊。
参考技术B php页面 是要完全执行完后 才会调用 js 不会中途 调用js 然后 等你 按确定 或者取消 后 继续 执行接下去的 代码
懂?追问

感谢的你回答。明白了,那这个弹出的对话框在新空白页面,这个页面可以修饰吗?

javascript只弹出一次框 再次刷新不弹出

.打开页面自动弹出  当关闭弹框的时候  设置cookie生存时间  再次刷新页面判断cookie是否失效

<html> 
<head> 
<meta charset="utf-8" />
  <title>LIGHTBOX EXAMPLE</title> 
  <style> 
   .black_overlay{ display: none; position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color: black; z-index:1001; -moz-opacity: 0.6; opacity:.60; filter: alpha(opacity=60); } 
   .white_content { display: none; position: absolute; top: 25%; left: 25%; width: 50%; height: 50%; /*padding: 16px;*/ /*border: 16px solid orange;*/border: 1px solid grey; background-color: white; z-index:1002; /*overflow: auto; */} 
   </style> 
   <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>

   <script>
  
  
   $( document).ready(function(){  
//判断cookie是否存在
    if(document.cookie.length <=0){
       one();
     }else{
      return ‘‘;
     }
             
      });
   
   function one(){
     document.getElementById(‘light‘).style.display=‘block‘;
    document.getElementById(‘fade‘).style.display=‘block‘
    }
   
   function two(){
    document.getElementById(‘light‘).style.display=‘none‘;
    document.getElementById(‘fade‘).style.display=‘none‘
    //关闭弹框是设置cookie
    setCookie(‘opop‘,‘lailailai‘,1800)
    
       }
    //设置cookie
    function setCookie(cname, cvalue, exdays) {
     var d = new Date();
     d.setTime(d.getTime() + (exdays*24*60*60*1000));
     var expires = "expires="+d.toUTCString();
     document.cookie = cname + "=" + cvalue + "; " + expires;
    }
    
    //获取cookie
    function getCookie(cname) {
     var name = cname + "=";
     var ca = document.cookie.split(‘;‘);
     for(var i=0; i<ca.length; i++) {
      var c = ca[i];
      while (c.charAt(0)==‘ ‘) c = c.substring(1);
      if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
     }
     return "";
    }

         </script>

 

 
</script>

</head> 
<body > 
  <p> 
    <a href="javascript:showBg();" onclick="one()">点击这里打开窗口</a>
  </p> 
  <div id="light" class="white_content"> 
   <img src="http://imageavatar.xiangsibang.com/gfs.php?img=9cdbc343a8846bba79b55a7c523f9b4f&w=800" style="width:100%;height:100%;">
    <a href="javascript:void(0)" onclick="two()" style="   color:red;margin-top: -50%; position: absolute;float: right;/* margin-right: -34%; */margin-left: 99%;">X</a>
  </div> 
  <div id="fade" class="black_overlay" > 
  </div> 
</body> 
</html>

  

以上是关于javascript 只弹窗口提示 不需要刷新的主要内容,如果未能解决你的问题,请参考以下文章

利用cookie实现“只弹出一次窗口”的JS代码

JavaScript弹出窗口方法

js实现弹出的提示框只弹出一次

Android Toast多次点击只弹一次提示信息

以编程方式刷新网页 - javascript [重复]

Element 通知组件 Notification 支持同类型的提示信息只弹出一次!!!