小编Ken*_*ong的帖子

PHP的HTML5通知

我注意到Facebook开始使用桌面的HTML5通知,我想我会开始涉足我的博客.我的想法非常简单:新的博客出来了,apache cronjob每隔X分钟运行一次并调用一个文件,做一些PHP巫术,然后发出通知.

我已经在线查看并找到了使用node.js和angular的示例,但我不习惯使用其中任何一个,所以我宁愿坚持使用PHP.

这是我的过程:用户访问我的博客,然后单击按钮以允许通知.为简洁起见,下面的代码在用户单击"通知"按钮时向用户发送通知.这非常有效,理论上应该将它们订阅到任何未来的通知.

if ('Notification' in window) {

function notifyUser() {
    var title = 'example title';
    var options = {
        body: 'example body',
        icon: 'example icon'
    };

    if (Notification.permission === "granted") {
        var notification = new Notification(title, options);
    } else if (Notification.permission !== 'denied') {
        Notification.requestPermission(function (permission) {
            if (permission === "granted") {
                var notification = new Notification(title, options);
            }
        });
    }

}

$('#notify').click(function() {
    notifyUser();
    return false;
});

} else {
    //not happening
} …
Run Code Online (Sandbox Code Playgroud)

javascript php html5 push-notification html5-notifications

26
推荐指数
1
解决办法
8802
查看次数

如何在不达到API限制的情况下获取所有Twitter粉丝

我想这很容易做到,但我无法弄清楚我做错了什么.我正在使用亚伯拉罕的OAuth获取访问权限.我正在使用我的关注者信息构建一个数据库:屏幕名称,用户名和推特ID.没什么特别的.

我引用了Twitter的" 光标 "页面,特别是伪代码,来制作我的代码.对于那些不想单击链接以查看所述pesudo代码的人,它看起来如下所示:

cursor = -1

api_path = "https://api.twitter.com/1.1/endpoint.json?screen_name=targetUser"

do {

    url_with_cursor = api_path + "&cursor=" + cursor      

    response_dictionary = perform_http_get_request_for_url( url_with_cursor )

    cursor = response_dictionary[ 'next_cursor' ]

}

while ( cursor != 0 )
Run Code Online (Sandbox Code Playgroud)

对于每个请求,最终用户都会获得一个"光标",允许他们浏览结果的"页面".每页有20个,如果你有200个粉丝,你必须经历10页.我有900多名粉丝.我将其修改为如下所示:

 include('config.php');  //db connection
 include('twitter_oauth.php'); //oauth connection

 $followers = "";

$cursor = -1;
echo '<pre>';   
do {

    $consumerKey = 'xxx';
    $consumerSecret = 'xxx';
    $OAuthToken = 'xxx';
    $OAuthSecret = 'xxx';

    $tweet = new TwitterOAuth($consumerKey, $consumerSecret, $OAuthToken, $OAuthSecret);

    $followers = $tweet->get('followers/list', array('screen_name' => 'my_screen_name', 'cursor' => …
Run Code Online (Sandbox Code Playgroud)

php twitter oauth twitter-oauth

13
推荐指数
1
解决办法
1万
查看次数

跨浏览器独特的形状链接

我正在开发一个网络应用程序,允许用户输入内容,然后将其提交给人们的手机.它就像一个魅力,但我对徽标有一些问题.徽标如下:

在此输入图像描述

我左边有一个不同的链接按钮,这就是为什么我们不希望徽标链接覆盖它.

我的第一个想法是使用边界半径,但底部的角度太尖锐了.例如,如果我使用的边界半径为:0 0 75px 75px,则执行以下操作:

在此输入图像描述

所以,如果我们使角度更大,让我们说:0 0 100px 100px,它执行以下操作:

在此输入图像描述

(没有区别.)

如果我增加左下角,则向右推动,反之亦然.我最终做了以下事情,因为右侧没有链接.

在此输入图像描述

左边还有一个小的小空间,但它更好.除了现在右边有一个很大的链接,这可能会打扰最终用户,因为那里不应该有任何东西.

因此,我们选择使用图像映射并执行以下操作:

在此输入图像描述

这有效!......有点儿 图像的左下角现在位于红色链接上方,是一个死角.因此,另一种方法是我们将底角设为不同的链接.让我来说明一下.

在此输入图像描述

这解决了这个问题.直到用户滚动.如您所见,徽标(和标题)是固定的.导航不是.然后发生以下情况.

在此输入图像描述

我正在使用jQuery,因此滚动距离并不难,将其与该区域中的导航项进行比较,并更改图像映射的那一部分以匹配它...但我觉得我太过分了这个.

(然后,最重要的是,不同的用户有不同的导航......)

你知道类似的解决方案吗?或者我坚持使用图像映射和jquery链接更改?

非常感谢!

编辑:要确认我链接的"死角",请查看下图:

在此输入图像描述

即使图像映射在屏蔽周围,屏蔽仍然是图像并且具有方角,使角落成为不可链接的区域,除非为该区域制作另一个图像映射.我做到了,但由于导航滚动,该链接区域不再匹配它下面的导航.图像地图上的边界半径也可以解决问题,但我采用了不同的方法.

希望能回答这个问题!

html javascript css jquery image

5
推荐指数
1
解决办法
255
查看次数

CSS边框图像渐变在Safari 10中不起作用

我遇到了Safari 10和CSS边框图像渐变的问题.它适用于所有其他浏览器,甚至可以在Safari 9中使用.它甚至可以在Safari 10中显示在线模拟器中.请看下面的图片:

在此输入图像描述

(我猜这是IE 11,而不是IE 10.感谢您的纠正!)

我以为它只是我的CSS所以我真的很简单,并且做了一个小提琴.你可以在https://jsfiddle.net/tgbuxkee/看到它

它也在下面生成.

div {
  width: 200px;
  height: 200px;
  border: 6px solid transparent;
    -moz-border-image: -moz-linear-gradient(top, #f0e2d0 0%, #c08b62 100%);
    -webkit-border-image: -webkit-linear-gradient(top, #f0e2d0 0%, #c08b62 100%);
    border-image: linear-gradient(to bottom, #f0e2d0 0%, #c08b62 100%); 
    -webkit-border-image-slice: 2;
    border-image-slice: 2;
  
}
Run Code Online (Sandbox Code Playgroud)
<div>

</div>
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么会这样?我知道在Safari中有一些图像边框的错误,但我不认为这是这种情况(也许是这样).

指导很有帮助.

谢谢.

css safari css3 border-image css-gradients

5
推荐指数
1
解决办法
3996
查看次数

CSS动画到增量计数器

我最近一直在使用CSS计数器,我想知道是否有可能将它们放在CSS动画循环中并增加它们。我的代码很简单:

div {
    animation-name: anim;
    animation-duration: 0.5s;
    animation-iteration-count: 10;
    animation-fill-mode: forwards;
}

div:before {
    counter-increment: variable;
    content: counter(variable);
}

@keyframes anim {
    100% { counter-increment: variable; }
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

您可以看到该数字上升了,但随后又回到了1。我认为这样做animation-fill-mode: forwards可以防止这种情况的发生,但我想不是。

我是在做错什么,还是CSS计数器无法做到这一点?

css css3 css-animations css-counter

5
推荐指数
1
解决办法
1437
查看次数

PHP卷曲引用字符编码问题

我知道在不同的字符集之间存在一个古老的字符编码问题,但我仍然坚持与Window的"曲线引号"相关的问题.

我们有一个客户端喜欢将数据复制并粘贴到文本字段中,然后将其发布到我们的应用程序中.该数据通常会包含卷曲引号.我曾经使用以下方法将它们转换为正常的对应物:

function convert_smart_quotes($string)  { 

$badwordchars=array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6");

$fixedwordchars=array("'", "'", '"', '"', '-', '--', '...');

return str_replace($badwordchars,$fixedwordchars,$string); 

}
Run Code Online (Sandbox Code Playgroud)

这个工作好几个月了.然后经过一些更改(我们切换服务器,对系统进行更新,升级PHP等等),我们了解到它不再起作用了.所以,我看看,我了解到"卷曲引号"都变成了不同的字符.在这种情况下,他们将变成以下内容:

"=¡

"=¡É

'=¡

'=¡

这些字符在保存在数据库中时显示为被诅咒的"黑钻石问号符号".mySQL数据库位于latin1_swedish_ci中,接收消息的应用程序也是如此.所以,虽然我知道utf-8更好,但它必须保留在latin1_swedish_ci或ISO-8859-1中,否则我们将不得不重建所有东西......这是不可能的.

我的网页和表单都在utf-8中发布.如果我将其更改为ISO-8859-1,引号将成为问号.

我已经尝试在字符串中搜索"¡È"或"¡É"的出现并用正常的引号替换它们,但我无法让它工作.我通过在上面的函数中添加以下内容来完成它:

$string = str_replace("xa1\xc8", '"', $string);
$string = str_replace("xa1\xc9", '"', $string);
$string = str_replace("xa1\xc6", "'", $string);
$string = str_replace("xa1\xc7", "'", $string);
Run Code Online (Sandbox Code Playgroud)

我已经被困在这几个小时了,并且无法在网上找到任何真正的帮助.你可以想象,googleing"¡É"并没有带来非常具体的反应.

任何指导表示赞赏!

php mysql encoding utf-8

4
推荐指数
1
解决办法
2746
查看次数