有没有办法让这个片段只有在我自己的 IP 访问该网站时才会触发?
$('#preloader').delay(5555).fadeOut(1234,function(){
$(this).remove();
});
类似(伪代码):“如果 ip 不是 127.0.0.1,什么也不做。”
(如果这样更容易,我愿意接受 PHP 解决方案。)
谢谢!
Javascript 无法获取访问者的 IP,因此服务器端解决方案是唯一可能的解决方案。试试这个:
<?php if ($_SERVER['REMOTE_ADDR'] == '1.1.1.1') { // your IP instead of 1.1.1.1 ?>
$('#preloader').delay(5555).fadeOut(1234,function(){
$(this).remove();
});
<? } ?>
您可以在 PHP 中设置此条件以显示或不显示这部分代码。
<? if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'): ?>
$('#preloader').delay(5555).fadeOut(1234,function(){
$(this).remove();
});
<? endif; ?>
您将使用 javascript 和 jquery 获得 clientIP。您可以使用 JSONP 通过服务器端中继它
在谷歌搜索时,在 SO http://stackoverflow.com/questions/102605/can-i-lookup-the-ip-address-of-a-hostname-from-javascript上找到了它
<script type="application/javascript">
function getip(json){
alert(json.ip); // alerts the ip address
}
</script>
<script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip"></script>
此外,jQuery 可以处理 JSONP,只需传递一个带有回调格式的 url=? $.getJSON 方法的参数,例如:
$.getJSON("http://jsonip.appspot.com?callback=?",
function(data){
alert( "Your ip: " + data.ip);
});
此示例是在 Google App Engine 上实现的一个非常简单的 JSONP 服务,您可以在此处查看更多详细信息。
检查服务的来源,是一个小的 Python 脚本,它可以在任何服务器端语言上实现。
如果您不是在寻找跨域解决方案,则可以进一步简化脚本,因为您不需要回调参数,并且返回纯 JSON。
在这里运行上面的代码片段。