我注意到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) 我想这很容易做到,但我无法弄清楚我做错了什么.我正在使用亚伯拉罕的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) 我正在开发一个网络应用程序,允许用户输入内容,然后将其提交给人们的手机.它就像一个魅力,但我对徽标有一些问题.徽标如下:
我左边有一个不同的链接按钮,这就是为什么我们不希望徽标链接覆盖它.
我的第一个想法是使用边界半径,但底部的角度太尖锐了.例如,如果我使用的边界半径为:0 0 75px 75px,则执行以下操作:
所以,如果我们使角度更大,让我们说:0 0 100px 100px,它执行以下操作:
(没有区别.)
如果我增加左下角,则向右推动,反之亦然.我最终做了以下事情,因为右侧没有链接.
左边还有一个小的小空间,但它更好.除了现在右边有一个很大的链接,这可能会打扰最终用户,因为那里不应该有任何东西.
因此,我们选择使用图像映射并执行以下操作:
这有效!......有点儿 图像的左下角现在位于红色链接上方,是一个死角.因此,另一种方法是我们将底角设为不同的链接.让我来说明一下.
这解决了这个问题.直到用户滚动.如您所见,徽标(和标题)是固定的.导航不是.然后发生以下情况.
我正在使用jQuery,因此滚动距离并不难,将其与该区域中的导航项进行比较,并更改图像映射的那一部分以匹配它...但我觉得我太过分了这个.
(然后,最重要的是,不同的用户有不同的导航......)
你知道类似的解决方案吗?或者我坚持使用图像映射和jquery链接更改?
非常感谢!
编辑:要确认我链接的"死角",请查看下图:
即使图像映射在屏蔽周围,屏蔽仍然是图像并且具有方角,使角落成为不可链接的区域,除非为该区域制作另一个图像映射.我做到了,但由于导航滚动,该链接区域不再匹配它下面的导航.图像地图上的边界半径也可以解决问题,但我采用了不同的方法.
希望能回答这个问题!
我遇到了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计数器,我想知道是否有可能将它们放在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计数器无法做到这一点?
我知道在不同的字符集之间存在一个古老的字符编码问题,但我仍然坚持与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"¡É"并没有带来非常具体的反应.
任何指导表示赞赏!