获取包含对象的数组的索引的最佳方法是什么?
想象一下这种情况:
var hello = {
hello: 'world',
foo: 'bar'
};
var qaz = {
hello: 'stevie',
foo: 'baz'
}
var myArray = [];
myArray.push(hello,qaz);
Run Code Online (Sandbox Code Playgroud)
现在我想拥有属性indexOf的对象,在这个例子中,它将是.hello'stevie'1
我是JavaScript的新手,我不知道是否有一个简单的方法,或者我是否应该构建自己的函数来做到这一点.
我们正在使用PHPCI和作曲家.运行PHPCI的服务器在PHP 5.3上.
对于一个项目,我们使用composer添加了Facebook PHP SDK.它需要PHP 5.4.Composer由PHPCI触发并执行.但是因为CI服务器刚刚得到PHP 5.3编写器失败并显示错误消息:
facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found.
Run Code Online (Sandbox Code Playgroud)
当然,这让我在PHPCI中的构建失败了.
是否有可能跳过此要求?也许通过为composer.json添加一个选项?或者是composer.phar调用的参数?
我试图编写一个小指令,用其他模板文件包装其内容.
这段代码:
<layout name="Default">My cool content</layout>
Run Code Online (Sandbox Code Playgroud)
应该有这个输出:
<div class="layoutDefault">My cool content</div>
Run Code Online (Sandbox Code Playgroud)
因为布局"默认"具有以下代码:
<div class="layoutDefault">{{content}}</div>
Run Code Online (Sandbox Code Playgroud)
这里是指令的代码:
app.directive('layout', function($http, $compile){
return {
restrict: 'E',
link: function(scope, element, attributes) {
var layoutName = (angular.isDefined(attributes.name)) ? attributes.name : 'Default';
$http.get(scope.constants.pathLayouts + layoutName + '.html')
.success(function(layout){
var regexp = /^([\s\S]*?){{content}}([\s\S]*)$/g;
var result = regexp.exec(layout);
var templateWithLayout = result[1] + element.html() + result[2];
element.html($compile(templateWithLayout)(scope));
});
}
}
Run Code Online (Sandbox Code Playgroud)
});
我的问题:
当我在模板中使用范围变量时(在布局模板中或布局标签内),例如.{{whatever}}它刚开始工作.如果我更新whatever变量,则指令不再更新.整个链接功能只会触发一次.
我认为,AngularJS不知道,该指令使用范围变量,因此不会更新.但我不知道如何解决这个问题.
是否存在通过HTML或JavaScript在智能手机上的本地浏览器中触发共享功能的可能性?
当然,有许多服务提供共享按钮.但是,当我想在Facebook上分享一个网站时,我需要在我目前使用的浏览器中登录到facebook.
几乎所有浏览器都内置了自己的共享功能,触发系统菜单以选择要用于共享的应用程序:

这个问题是关于:如何触发此菜单?
我知道可以在链接的href属性中触发具有指定前缀的电话,例如tel:或callto:.也许这个共享菜单的快捷方式也存在?还是一些javascript代码?或者完全不同的方式怎么做?
提前致谢.
我对Google地图有一般性问题.我想仅为德国使用谷歌地图,但当然也会显示邻国.德国的边界很少见.
是否有可能淡出其他未使用的国家?
是否可以忽略SVN中的外部提交?
例:
我有一个项目,其中一个子文件夹是外部的:
svn:externals
my_remote_folder http://svn.whatever.org/blah/trunk/
Run Code Online (Sandbox Code Playgroud)
这无缝地工作.总是当我执行更新时,外部也会更新.
但是,当我在本地结帐中更改任何内容时,我的IDE会识别更改并向我提供要提交的文件.但也许我只是对外部SVN的读访问权限.
我试图忽略常规文件夹:
svn:ignore
my_remote_folder
Run Code Online (Sandbox Code Playgroud)
我也试过了
my_remote_folder .
Run Code Online (Sandbox Code Playgroud)
但是我的IDE(PhpStorm)和TortoiseSVN仍然忽略了这个忽略.
在TypoScript中存在获取环境变量HTTP_COOKIE_VARS(不推荐使用)的可能性:
10 = TEXT
10.data = global : HTTP_COOKIE_VARS | some_cookie
Run Code Online (Sandbox Code Playgroud)
我从文档中得到了这个.
但是在我的服务器上(PHP 5.3),这个变量是空的!我想这是因为这个环境变量已被弃用.现在我没有使用扩展,用户功能或用户条件的选项.
也许你有个主意!提前致谢.
我对Magento很新,我正在尝试为Magento后端的客户视图添加一个新选项卡.
我为它制作了一个新的扩展/模块.以下是我的etc/config.xml的一些摘录:
<global>
<blocks>
<showidea>
<class>Whatever_Extendcustomer_Block</class>
</showidea>
</blocks>
<!-- ... -->
</global>
<adminhtml>
<layout>
<updates>
<showidea>
<file>whatever_extendcustomer.xml</file>
</showidea>
</updates>
</layout>
</adminhtml>
Run Code Online (Sandbox Code Playgroud)
这里是whatever_extendcustomer.xml文件的内容:
<adminhtml_customer_edit>
<reference name="customer_edit_tabs">
<action method="addTab">
<name>extendcustomer_showidea</name>
<block>extendcustomer/adminhtml_customer_showidea</block>
</action>
</reference>
</adminhtml_customer_edit>
Run Code Online (Sandbox Code Playgroud)
当然这个块是存在的,它扩展了Mage_Adminhtml_Block_Template并实现了Mage_Adminhtml_Block_Widget_Tab_Interface.
当我转到客户的详细信息时,我现在得到错误:错误的选项卡配置.在Magento的错误日志中:
异常'Mage_Core_Exception',消息'无效的Blocktype:Mage_Extendcustomer_Block_Adminhtml_Customer_Showidea'在/var/www/vhosts/whatever/htdocs/app/Mage.php:594
我认为这是问题,因为Mage_Extendcustomer是错的.它应该是Whatever _ ...但我不知道为什么它在Mage_而不是我的Whatever_命名空间之前.
我希望有人能给我一些线索!谢谢.
javascript ×3
adminhtml ×1
android ×1
angularjs ×1
composer-php ×1
cookies ×1
google-maps ×1
html ×1
ios ×1
magento ×1
php ×1
share ×1
svn ×1
svnignore ×1
typo3 ×1
typoscript ×1
versioning ×1