我在Windows上运行时遇到以下错误gem install json —platform=ruby
:
The system cannot find the path specified.
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
The system cannot find the path specified.
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
C:/Ruby193/bin/ruby.exe extconf.rb
creating Makefile
Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out
Run Code Online (Sandbox Code Playgroud)
首先,我不是Windows用户,所以这对我来说是一个勇敢的新世界.从工作中继承了一台笔记本电脑,其中有一系列疯狂的图书馆,我已经设法删除所有以前安装的ruby和Devkit,然后安装了以下内容:
不幸的是,我正在使用一些第三方javascript,它将链接插入到我的页面中.我不想直接使用这些链接,而是使用代理元素,当单击它们时,会触发第三方链接上的click事件.
第三方链接将javascript包装到href属性中,如下所示:
<a id="horribleLink" href="javascript:doSomething()">Click me</a>
Run Code Online (Sandbox Code Playgroud)
我的代理元素如下所示:
<button rel="horribleLink" class="linkProxy">No, click me</button>
Run Code Online (Sandbox Code Playgroud)
还有一些jQuery的javascript将它们链接在一起:
$('button.linkProxy').click(function(){
$('#' + $(this).attr('rel')).click();
});
Run Code Online (Sandbox Code Playgroud)
现在,如果第三方链接只是标准链接(稍微不那么糟糕的onclick(<a id="horribleLink" href="http://www.google.com">Click</a>
)或<a href="#" id="horribleLink" onclick="doSomething()">Click</a>
),这可以很好地工作,但是当javascript属于href属性时,触发'click'什么都不做.
谁能告诉我为什么,以及是否有合理的解决方法?
更新为Millimetric说,根本原因似乎是浏览器阻止了对锚点的"伪造点击" - 我删除了我的"标准链接"示例,因为这是另一种无效的情况.但是,正如您所期望的那样,onclick处理程序确实可以正常工作.
我有一个关于Rails引擎的问题,在Rails指南中没有提到Rails引擎.我希望能在这里得到它.
我有一个引擎,例如,名为my_engine,还有一个名为my_app的应用程序.
出于开发目的,在my_app的Gemfile中,我只是简单地将my_engine包含在以下行中,使用:file key.
#my_app/Gemfile
...
gem "my_engine", :path => "./../my_engine"
...
Run Code Online (Sandbox Code Playgroud)
和my_engine结构是这样的:
.
??? Gemfile
??? Gemfile.lock
??? app
? ??? ...
| |...
|
??? config
? ??? locales
? ? ??? models
? ? ??? products
? ? ??? en.yml
? ? ??? zh-TW.yml
? ??? routes.rb
??? lib
? ??? my_engine
? ? ??? engine.rb
? ? ??? version.rb
? ??? my_engine.rb
? ??? tasks
? ??? my_engine_tasks.rake
Run Code Online (Sandbox Code Playgroud)
我发现当我尝试检查my_app下的I18n.load_path时,没有任何单个路径指向my_engine,这意味着,my_app不会加载my_engine的语言环境事务.
>>rails console
Loading development environment (Rails 4.0.2) …
Run Code Online (Sandbox Code Playgroud) 我正在开展一个包含季节性内容的项目,我们正在考虑确定用户的位置,以确定它适合他们的季节.这样做的显而易见的方法是对其IP进行地理定位,然后获取纬度.> 0是北半球,<0是南半球.
我很高兴这样做 - 尽管将IP确定到一个确切的位置似乎有点浪费,只是为了确定它们所在的行星的哪一半 - 但我想我会把它扔到那里任何人都有任何可能会简化过程的技巧.
请求标题,可以在客户端使用JS提取的东西,这一切都很容易获得 - 我只是觉得它没有任何帮助.
我试图了解一旦点击链接或提交表单后浏览器的行为 - 任何由用户触发的操作,并以他们登陆新URL结束.我被要求在按钮和链接上安装一些跟踪代码,这依赖于src
在点击时更新不可见的iframe 属性.
所以 - 我的具体问题是:
一旦用户点击链接,我可以依赖DOM可操作吗?也就是说,我可以更新节点上的属性,并且可以确保在新页面加载之前这会成功吗?
这些操作触发的任何请求(例如,我给iframe一个新src
属性)是否可靠?显然,新页面已在请求完成时加载 - 但是可能(但可能无法跟踪)请求已成功完成.
我的直觉是,这些都不可靠 - 我绝对不会自己编写这样的系统.我真的在寻找参考或规格,所以我可以做一个更好的方法.
谢谢!
当使用建议的Typography.com字体实现字体'Gotham Rounded SSm A'时,我遇到了问题.
<link rel="stylesheet" type="text/css" href="//cloud.typography.com/6035272/698322/css/fonts.css" />
Run Code Online (Sandbox Code Playgroud)
该字体似乎在Chrome和Internet Explorer 9中都能正确呈现,但Firefox和Safari似乎都忽略了某些字符 - 在字体堆栈中回退到'Verdana'.
我已经抓取网络搜索类似的结果,但找不到任何东西.任何建议都会非常感激.
在编写Ruby模块(一组Sinatra应用程序的辅助方法)时,我遇到了一些奇怪的事情.我将哈希声明为常量,键为字符串.后来,当我尝试检索一个值时,我得到零.在检查哈希时,我发现密钥已经转换为符号.这是怎么回事?
这是一个简化的例子:
module HelperModule
RANGES = {
'a' => 1...60,
'b' => 60...90,
'c' => 90..999
}.freeze
def find_range(key)
RANGES[key] # Returns nil when key is 'a', 'b' or 'c'
end
end
Run Code Online (Sandbox Code Playgroud)
检查RANGES产量:{:a=>[1...60], :b=>[60...90], :c=>[90..999]}
.
我可以通过转换键轻松地解决它.to_sym
,但我想了解这里发生了什么.
我正在尝试创建一个收集单个数值的表单,并希望使移动浏览器上的填写过程尽可能简单。
Mobile Safari 支持在字段聚焦时使用inputmode="numeric"
或inputmode="decimal"
显示数字键盘样式键盘。它还支持使用Enterkeyhint来选择“下一步/完成/转到/输入”按钮的文本(“Go”在我的情况下是最合适的)...但是,似乎这些不能一起使用:设置数字inputmode
会导致回车按钮显示默认的“完成”外观。
我想不出这种行为是设计使然的原因。有解决方法还是我缺少什么?
<input type="text" inputmode="numeric" placeholder="I show a numeric keyboard with a default 'done' button"/>
<input type="text" enterkeyhint="Go" placeholder="I show a text keyboard with a 'Go' button"/>
<input type="text" inputmode="numeric" enterkeyhint="Go" placeholder="I show a numeric keyboard, but still with a default 'done' button"/>
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE HTML>
<html>
<head>
<title></title>
</head>
<body>
<div id="menu"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script>
<script type="text/javascript">
var myView = Backbone.View.extend({
events: {
'click #menu': 'insideMenuHandler'
},
//for event click
initialize: function() {
_.bindAll(this, 'insideMenuHandler', 'outsideMenuHandler');
},
render: function() {
// Both <body> and <html> for paranoia.
$('body, html').on('click', this.outsideMenuHandler);
// ...
return this;
},
remove: function() {
// Clean up after ourselves.
$('body, html').off('click', this.outsideMenuHandler);
// ...
},
// ...
outsideMenuHandler: function(e) { …
Run Code Online (Sandbox Code Playgroud) 我有一个使用mapbox-gl.js的简单应用程序,并添加了一个带有geoJSON的标记层.如果我使用Mapbox的"Streets"样式,或者如果我将街道样式复制为我帐户中的自定义样式,则此方法很有效.
不过,我想使用基于"光"的风格自定义样式,看来,这不包括的东西的需要的显示图标.
我已经将这两种样式都下载为JSON,然后换掉了sprite
属性,但这没有什么区别.
我已经尝试从"街道"风格开始并将其调整为我想要的方式,但这是组织的很多变化.
我可以做些什么,无论是在Mapbox Studio中还是在JS中,都可以绘制标准标记?
我在更改子元素的行高时遇到问题.我的目标只是将行高重置为正常值,而不是使用其父级的较高值.
a{ line-height:100px; }
a small{ line-height:10px; //or normal }
Run Code Online (Sandbox Code Playgroud)
所以我希望行高small
正常但不起作用.
有任何想法吗?