什么之间的区别<a target="_new">
,并<a target="_blank">
和我应该使用如果我只是想打开一个新标签/窗口的链接?
我试图找到浏览器视口的确切高度和宽度,但我怀疑Mozilla或IE正在给我错误的数字.这是我的身高方法:
var viewportHeight = window.innerHeight ||
document.documentElement.clientHeight ||
document.body.clientHeight;
Run Code Online (Sandbox Code Playgroud)
我还没有开始宽度,但我猜它会有类似的东西.
是否有更正确的方法来获取此信息?理想情况下,我也希望该解决方案能够与Safari/Chrome /其他浏览器配合使用.
我根据本手册在Ubuntu上安装了PPA的php5.6和php7.0
http://lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu
但我没有得到如何使用pecl
php5.6或php7.0 安装扩展.
例如,我已经安装的版本,libevent
或amqp
在php5.6.
现在当我输入pecl install libevent
和我的活动php版本是php7.0(使用update-alternatives --set php /usr/bin/php7.0),
pecl returns message that
libevent`已经安装.
但它只安装了php5.6(这个版本是活动的),现在我想为php7.0做.
哪些命令对我有帮助?
UPD
我发现这个命令用于将pecl切换到php7.0并将它们分发给可执行的bash脚本:
#!/bin/bash
sudo update-alternatives --set php /usr/bin/php7.0
sudo pecl config-set php_ini /etc/php/7.0/cli/php.ini
sudo pecl config-set ext_dir /usr/lib/php/20151012/
sudo pecl config-set bin_dir /usr/bin/
sudo pecl config-set php_bin /usr/bin/php7.0
sudo pecl config-set php_suffix 7.0
Run Code Online (Sandbox Code Playgroud)
并为php5.6
#!/bin/bash
sudo update-alternatives --set php /usr/bin/php5.6
sudo pecl config-set php_ini /etc/php/5.6/cli/php.ini
sudo pecl config-set ext_dir /usr/lib/php/20131226/
sudo pecl config-set …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个Chrome扩展程序,它可以替代Delicious书签.我知道已经有了扩展功能,但扩展的问题在于,在为网站添加书签后,弹出窗口保持打开状态(与使用小书签相反,弹出窗口在提交表单后自动关闭.我重新创建了扩展并遇到了同样的问题.
这是我的代码:
manifest.json的:
{
"name": "Delicious",
"version": "1.0",
"description": "Bookmark a site on Delicious",
"background_page": "background.html",
"permissions": [
"tabs"
],
"browser_action": {
"default_icon": "delicious.png"
},
"content_scripts": [
{
"matches": ["http://www.delicious.com/save*"],
"js": ["contentscript.js"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
background.html:
<html><script>
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.getSelected(null, function(tab) {
w = window.open('http://delicious.com/save?url='+
encodeURIComponent(tab.url)+
'&title='+encodeURIComponent(tab.title)+
'&v=5&noui=1&jump=close',
'deliciousuiv5',
'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550');
});
});
</script></html>
Run Code Online (Sandbox Code Playgroud)
contentscript.js:
if (document.URL == 'http://www.delicious.com/save')
{
alert('closing...');
self.close();
alert('should have closed by now');
}
Run Code Online (Sandbox Code Playgroud)
当我点击美味按钮时,弹出窗口很好,我可以保存书签但是在我点击"保存"后,弹出窗口没有关闭.两个警报都出现了,但self.close()
似乎没有做任何事情.当我删除contentcript.js中的URL检查时,弹出窗口正常显示,第一个警报立即触发,然后弹出窗口自行关闭(应该如此).
为什么这不起作用?Chrome似乎没有阻止我做self.close().美味做点什么吗?还有别的吗?
如果您需要,文件就在这里:[链接已删除,因为drop.io已停业]
javascript google-chrome delicious-api google-chrome-extension
我正在编写一个允许用户向动态创建的邮件列表发送电子邮件的应用程序.例如,用户可以发送电子邮件至my-team@site.com(该网站是体育联盟的联盟管理网站),该电子邮件将发送给该用户团队的每个人.我正在试图弄清楚电子邮件标题应该是什么来正确传递电子邮件并使所有From和To字段看起来正确.
在Gmail中,当您收到来自邮件列表的电子邮件时(我正在查看来自Google群组的电子邮件),它表示它来自发送该邮件的人并且已将其发送到列表地址,但该电子邮件是送给我的.除了Delivered-To:标题之外,我的地址不会出现在任何标题中.这是一些谷歌魔术,还是我可以做同样的事情?
奖金问题:我正在使用Postfix + OpenDKIM来签署电子邮件.如果From域匹配我指定的域,它将签署消息,但如果Sender域匹配则不签名.如何告诉它使用Sender域.
在记住我的 cookie时,有两种截然不同的方法:
哈希
的记得我的cookie存储能够识别用户(即用户ID)和一个字符串,可以证明被识别的用户是它伪装成一个字符串-通常是基于哈希的用户密码.
令牌
的记得我的cookie存储随机(无意义的),这与在一个记录对应但唯一的字符串标记表,用于存储用户ID.
哪种方法更安全,有什么缺点?
我有一个网络应用程序,允许用户将Facebook帐户与我们网站上的帐户连接.当用户决定与Facebook连接时,应用程序请求publish_stream
和offline_access
权限,然后存储Facebook uid
和session_key
每个用户.这一切现在都很好.
我的问题是迁移到Facebook的新OAuth 2.0系统.我想将我拥有的会话密钥转换为访问令牌.我遵循这些指示,一切似乎都很好; Facebook返回了一堆访问令牌.但是,它们都不起作用.当我尝试访问https://graph.facebook.com/me?access_token=TOKEN-HERE等URL时,出现"验证客户端错误"的错误.
我究竟做错了什么?
此外,我的印象是访问令牌就像会话密钥一样,只要我有一个,我可以永远使用它(因为我请求offline_access
权限).那是对的吗?
下面是我将会话密钥转换为访问令牌的确切步骤,以及我得到的输出.希望这有助于解决我的问题.
码:
$session_key = '87ebbedf29cc2000a28603e8-100000652996522';
$app = sfConfig::get('app_facebook_prod_api'); // I happen to use Symfony. This gets an array with my Facebook app ID and secret.
$post = array(
'type' => 'client_cred',
'client_id' => $app['app_id'],
'client_secret' => $app['secret'],
'sessions' => $session_key
);
$options = array(
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_URL => 'https://graph.facebook.com/oauth/exchange_sessions',
CURLOPT_FRESH_CONNECT => 1,
CURLOPT_RETURNTRANSFER => …
Run Code Online (Sandbox Code Playgroud) 在单独的进程中运行Symfony任务的正确方法是什么.我的第一个猜测是使用fork/exec,但根据这个,你不能用任何保持打开文件描述符或连接的东西(比如MySQL).所以这听起来不像是一个选择.另一种选择是做exec('symfony taskname &')
,但这似乎是一个黑客.这是我能做的最好的吗?还有第三种方式吗?
我在Chrome扩展程序中使用Google Analytics.我只想在真人使用扩展程序时才执行分析代码(在我工作的时候不是我).以下任何一种可行的,哪种是最好的?
确定扩展程序是已安装打包还是已解压缩.我认为这是最好的,因为拆开包装显然意味着它"处于开发阶段"并且它不以任何方式特定于我的机器.扩展程序能以编程方式知道吗?
让扩展程序查找特定于我的环境的内容.我不确定那是什么东西(扩展是开源的,所以它不能太私密).
在选项页面上有一个"开发者模式"选项.可行,但这意味着安装扩展程序的任何人都可以打开它.
手动设置localStorage变量,永远不要删除它.可行但不是最佳解决方案,因为如果它消失了,我必须重置它.如果我从localStorage删除密钥,我必须记住不要删除它.
var useAnalytics = false
在开发时,在发布之前将其设置为true.它不是自动的,而是一种选择.
别的什么?