我一直在开发一个Web应用程序,部分内容我需要打开一个新窗口.我有这个适用于所有浏览器,我的关键点是谷歌Chrome.
铬似乎忽视,这是造成我的问题的窗口功能,我挣扎的事情是我需要的地址栏是新窗口中编辑.FF,IE,Safari和Opera做得很好,Chrome没有.
我的代码:
function popitup(url) {
newwindow=window.open(url, 'name', 'toolbar=1,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=800,height=600');
if (window.focus) {
newwindow.focus()
}
return false;
}
Run Code Online (Sandbox Code Playgroud) 现在大多数项目都需要某种形式的数据库.当有人说数据库时,我通常认为是关系数据库,但我仍然听说过平面文件XML数据库.
在"真实"数据库和平面文件XML数据库之间进行决策时,您会考虑哪些参数.何时应该使用另一个,在什么情况下我不应该考虑使用平面文件(反之亦然)关系数据库?
我有User和Item模特.我想构建一个如下所示的JSON响应:
{
"user":
{"username":"Bob!","foo":"whatever","bar":"hello!"},
"items": [
{"id":1, "name":"one", "zim":"planet", "gir":"earth"},
{"id":2, "name":"two", "zim":"planet", "gir":"mars"}
]
}
Run Code Online (Sandbox Code Playgroud)
但是,我User和Item模型有更多的属性而不仅仅是那些.我找到了一种方法让它工作,但要注意,它不漂亮......请帮助......
下一节包含原始问题.最后一节显示了新的解决方案.
class HomeController < ApplicationController
def observe
respond_to do |format|
format.js { render :json => Observation.new(current_user, @items).to_json }
end
end
end
Run Code Online (Sandbox Code Playgroud)
# NOTE: this is not a subclass of ActiveRecord::Base
# this class just serves as a container to aggregate all "observable" objects
class Observation
attr_accessor :user, :items …Run Code Online (Sandbox Code Playgroud) 为什么我不能将基类实例转换为派生类?
例如,如果我有一个扩展C类的B类,为什么我不能这样做呢?
B b=(B)(new C());
Run Code Online (Sandbox Code Playgroud)
或这个?
C c=new C();
B b=(B)c;
Run Code Online (Sandbox Code Playgroud)
好吧,让我更具体地说明我正在做什么.这就是我所拥有的:
public class Base(){
protected BaseNode n;
public void foo(BaseNode x){
n.foo(x);
}
}
public class BaseNode(){
public void foo(BaseNode x){...}
}
Run Code Online (Sandbox Code Playgroud)
现在我想创建一组扩展Base和Basenode的新类,如下所示:
public class Derived extends Base(){
public void bar(DerivedNode x){
n.bar(x);//problem is here - n doesn't have bar
}
}
public class DerivedNode extends BaseNode(){
public void bar(BaseNode){
...
}
}
Run Code Online (Sandbox Code Playgroud)
所以基本上我想通过扩展它们并向它们添加一个函数来向Base和BaseNode添加新功能.此外,Base和BaseNode应该可以单独使用.
如果可能的话,我真的很想在没有泛型的情况下这样做.
好吧,所以我最终搞清楚了,部分归功于Maruice Perry的回答.
在我的构造函数中Base,n被实例化为BaseNode.我所要做的就是重新实例n作为一个DerivedNode在构造函数中我的派生类,它完美的作品.
我正在开发一个MFC应用程序,这个应用程序多年来和不同的开发团队相当混乱.包含所有命令/消息映射的resource.h文件随着时间的推移变得非常大,并且存在许多问题(例如重复ID).我不熟悉MFC,所以这个问题可能听起来很愚蠢......
MSDN文档提到命令ID和消息ID不应相应地小于WM_USER和WM_APP.我看到Visual Studio生成的resource.h中的大多数命令ID都是从100开始.这不应该导致某些干扰MFC/Windows命令和消息,这些命令和消息与应用程序定义的ID重叠吗?例如,我有一个命令ID:
#define ID_MY_ID 101
Run Code Online (Sandbox Code Playgroud)
并且有一个具有相同ID的Windows命令.当MC将此命令发送到APP时,它会像应用程序定义的ID_MY_ID一样处理,并且应用程序正在执行不必要的操作.这是一种可能的情况吗?
此外,是否有一些第三方工具可以帮助分析项目资源?
更新1:
出现了新问题:向应用程序类添加新自定义命令的首选方法是什么?据我所知,在以下列方式添加之前:向resouce.h添加命令ID,然后向处理类添加消息映射处理程序.
对于我的一个项目,我正在使用DOMDocument该类来加载和操作XML文档.
我需要检索文档中使用的每个命名空间; 但是,我找不到我是怎么做到的.本DOMDocument类有方法来获取一个URI或命名空间前缀的URI的名称空间前缀,但我什么也没看见实际枚举注册的命名空间.
该SimpleXML图书馆拥有getNamespaces()该方法.是否有相应的DOMDocument?
我想使用/dev/random或/dev/urandom在C.我怎么能这样做?我不知道如何在C中处理它们,如果有人知道请告诉我如何.谢谢.
很简单,是否有一个python相当于PHP的phpinfo();?如果是这样,它是什么以及如何使用它(链接到参考页面会很好).
我正在使用Visual C#Express 2008在我的XP开发机器上开发一个C#WinForms应用程序.
我将表单设置为我喜欢的尺寸,设计师的宽度和高度都很好看.我还将这些维度设置为MaximumSize属性.
将应用程序部署到另一台XP计算机,该应用程序看起来就像我的开发人员.
但是,在Win7机器上测试应用程序时,表单同时应用了水平和垂直滚动条.我认为这是由于Win7确定的表单的非客户端大小的改变.我可以调整窗口大小,但我希望它能够正确显示.
所以,我的问题是:在OS'es中正确维护表单大小客户区的最佳方法是什么?
谢谢大家.
我正在使用Nokogiri和open-uri来抓取网页上标题标签的内容,但是在重音字符方面遇到了麻烦.处理这些问题的最佳方法是什么?这是我正在做的事情:
require 'open-uri'
require 'nokogiri'
doc = Nokogiri::HTML(open(link))
title = doc.at_css("title")
Run Code Online (Sandbox Code Playgroud)
此时,标题如下所示:
抹布\ 303\271
代替:
肉酱
我怎样才能让nokogiri返回正确的字符(例如在这种情况下为ù)?
这是一个示例网址:
http://www.epicurious.com/recipes/food/views/Tagliatelle-with-Duck-Ragu-242037
activerecord ×1
c ×1
c# ×1
casting ×1
class ×1
client ×1
command ×1
database ×1
domdocument ×1
forms ×1
java ×1
javascript ×1
json ×1
linux ×1
messages ×1
mfc ×1
mysql ×1
nokogiri ×1
open-uri ×1
php ×1
phpinfo ×1
python ×1
random ×1
resources ×1
ruby ×1
simplexml ×1
size ×1
unicode ×1
winforms ×1
xml ×1