我想知道为什么这段代码不起作用:
// check to see if string contains "HTTP://" in front
if(strpos($URL, "http://")) $URL = $URL;
else $URL = "http://$URL";
Run Code Online (Sandbox Code Playgroud)
如果它确实发现该字符串不包含"HTTP://",则最终字符串为"HTTP:// HTTP://foo.foo",如果它在前面包含"http://".
我在Rails 3应用程序中有一个简单的搜索表单:
<%= form_tag search_path, :method => "get" do %>
<%= text_field_tag :q, params[:q] %>
<%= submit_tag "search", :name => nil %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
当用户点击提交按钮,它们会采取的网址:http://myapp.com/search?utf8=%E2%9C%93&q=foobar
(其中%E2%9C%93被显示为复选标记:✓).
我没有对utf8参数做任何事情,所以我想通过完全删除它来保持URL清洁.也就是说,我希望用户可以访问以下网址:http://myapp.com/search?q = foobar.
我该怎么做呢?
我正在构建一个浏览器游戏,其中包含玩家周围环境的迷你地图.我需要跟踪其他玩家的位置,并在有人移动时更新此迷你地图.我在NodeJS和CouchDB中实现它.我的设计如下:
我有一个数据库,可以更改所有游戏数据.在这个数据库中,我有一个文档,其中包含二维数组中的基本地图数据,网格上的每个方块都由此数组中的元素表示.因为我可以有不同万吨的用户都同时动一下地图,我需要一些方法,以确保我没有得到一个读作别人在写它(如果一吨的用户正在阅读我能得到错误的信息和写入单个文件).我决定在这个数据库中有单独的文档,它们代表各个方块,每个文档都有那个正方形"播放"的播放器和与该方块相关的其他一些数据.实质上,地图文档仅用作方形文档的查找表.这使我能够在不必重写整个地图文档的情况下更改单个文档,从而解决了同时读取和写入的问题.
但问题是,我需要获取一个迷你地图供用户用作参考.这个迷你地图将包含周围广场的文件.由于我同时需要所有这些,我想我会从数据库中获取所有9个方块并将其返回到单个ajax响应中.我的问题是减少了阻塞IO的数量.现在,我有一个嵌套循环,从数据库中请求我需要的方块.这是我的代码(传递位置和地图):
var miniMap = new Array();
var keyMap = new Object();
var numDone = 0;
for(i = position.y - 1, y = 0; i < position.y + 1 && i < map.length; i++, y++){
miniMap[i] = new Array();
for(v = position.x - 1, x = 0; v < position.x + 1 && v < map.length; v++, x++){
keyMap[map[i][v].id] = {'x': x, 'y': y};
gameDB.getDoc(map[i][v].id, function(er, doc){
var tPos = keyMap[doc._id];
miniMap[tPos.y][tPos.x] = doc;
numDone++;
});
}
}
Run Code Online (Sandbox Code Playgroud)
不过我的问题是getDoc是非阻塞的,所以我不知道它何时将方形数据设置为miniMap.我想过做这样的事情: …
我将导出数据导出到csv(逗号分隔值)有一点问题.导出了所有数据,但QTableWidget中的标题和行名称没有.我需要列和行的标题.
您是否知道如何获取列的名称标题和行的名称?这是我的代码:
QFile f( "money.csv" );
if (f.open(QFile::WriteOnly | QFile::Truncate))
{
QTextStream data( &f );
QStringList strList;
for( int r = 0; r < ui->tableWidget->rowCount(); ++r )
{
strList.clear();
for( int c = 0; c < ui->tableWidget->columnCount(); ++c )
{
strList << "\" "+ui->tableWidget->item( r, c )->text()+"\" ";
}
data << strList.join( ";" )+"\n";
}
f.close();
}
Run Code Online (Sandbox Code Playgroud) 我几天前就已经了解了Haskell monads,在.net环境下是否有一些monads概念的使用?有没有办法在c#的开发中使用这个概念.
感谢帮助.
我有一个基于导航的视图控制器,在视图控制器中我隐藏了顶部导航栏并使用自定义UIView作为导航栏.
UIView栏有一个后退按钮,我使用Delegate方法(我已经声明了一个协议)在后退按钮被预设时与视图控制器通信.
我在CustomNavigation Bar id委托中使用委托;
并在主视图控制器中,当我分配导航栏时,我设置了委托
topBar = [[TopNavigationBar alloc] initWithFrame:CGRectMake(0, 0, 480, 40)];
topBar.lblTitle.text = @"Shop";
topBar.delegate = self;
Run Code Online (Sandbox Code Playgroud)
我在ViewControllers dealloc中发布了这个Bar.
现在,当我按下后退按钮时,我使用委托方法在主ViewController中调用popViewController.
//in Custom Bar
-(void)ButtonPressed {
[delegate TopNavigationBarBackButtonPressed];
}
//In View COntroller
-(void)TopNavigationBarBackButtonPressed {
[self.navigationController popViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
现在ViewController是poped并且控件转到上一个viewController但是在ViewController和UIView中都没有触发dealloc
我究竟做错了什么?
我正在Java中实现一个链表.是否可以在列表集合类中创建创建并使用实例变量"lastNode"?或者我应该始终通过从第一个节点开始的节点链接访问最后一个节点?
在我在共享主机提供程序中发布的ASP.NET 3.5网站中,我已经配置了我的web.config文件,如下所示:
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="AccessDenied.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)
如果不存在(如"www.example.com/NotExistPage.aspx")的用户请求的页面,因为我们预计用户会被重定向到FileNotFound.htm页.
但是如果用户请求某个地址,例如:"www.example.com/NotExistDirectory"而没有.aspx扩展名,则用户将遇到IIS 7.5错误页面:
HTTP错误404.0 - 未找到您要查找的资源已被删除,名称已更改或暂时不可用.
已淘汰的错误信息:
Module IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL http://www.example.com:80/NotExistDirectory
Physical Path D:\Websites\example\example.com\wwwroot\NotExistDirectory
Logon Method Anonymous
Logon User Anonymous
Run Code Online (Sandbox Code Playgroud)
这是一个黄页,不是用户友好的,我们没想到.
我想知道在webconfig中设置customeError不支持这种类型的地址吗?如何防止用户看到此黄页.
编辑: 感谢大卫的回答,但我找到了实际的原因和正确的解决方案.请看我的答案.
使用<div id="here" ...而不是使用是否有任何优势<div name="here" ...
它们都被称为#here?