一个"问题",我时不时地有一个对象,例如user = {},通过使用应用程序的过程,这将被填充.让我们说一下,在AJAX调用之后或者我这样做的事情:
user.loc = {
lat: 50,
long: 9
}
Run Code Online (Sandbox Code Playgroud)
在另一个地方,我想检查是否user.loc.lat存在.
if (user.loc.lat) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
如果它不存在,这将导致错误.如果user.loc.lat是undefined,user.loc当然也是undefined如此.
"Cannot read property 'lat' of null" - Dev Tools error
Run Code Online (Sandbox Code Playgroud)
这意味着我需要像这样检查:
if (user.loc) {
if (user.loc.lat) {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
要么
if (user.loc && user.loc.lat) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
这不是很漂亮,我的对象越大越好 - 显然(想象10级嵌套).它种烧伤我,if(user.loc.lat)不只是返回false,如果user.loc是undefined也.
检查这种情况的理想方法是什么?
新的Firestore DB允许我存储GeoPoints.有没有办法根据它们进行查询?
因此,例如,如果我的每个集合文档都有一个location类型的字段geopoint.如何将最近的10个文档放到任意坐标?
文档似乎没有涵盖这一点.我试过这样的东西:
someRef.where('location', '>', geopoint).limit(10).get();
Run Code Online (Sandbox Code Playgroud)
显然这没有多大意义,但我只是在尝试一些东西
在数据库UI中,我可以创建一个具有该类型的字段geopoint.提供值后,它看起来像这样:
location: [1° N, 1° E]
Run Code Online (Sandbox Code Playgroud)
我正在尝试通过客户端SDK(Web)将其保存到数据库中.基于Twitter反馈我尝试了GeoJSON,Coords数组和Coords对象:
location: [1, 2];
location: {
latitude: 1,
longitude: 2,
};
location: {
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
}
}
Run Code Online (Sandbox Code Playgroud)
这些都不会导致数据库中的geopoint类型.它们只是保存为对象/数组.
如何通过Web SDK在Firebase Cloud Firestore中保存GeoPoint?
来自文档:
您还可以链接多个where()方法以创建更具体的查询(逻辑AND).
我该如何执行OR查询?例:
status为openOR的文档upcomingstatus == openORcreatedAt <= <somedatetime>database firebase google-cloud-platform google-cloud-firestore
新的Firebase数据库Firestore说
函数DocumentReference.set()使用无效数据调用.不支持嵌套数组.
尝试保存以下对象时:
{
"desc" : "Blala",
"geojson" : {
"features" : [ {
"geometry" : {
"coordinates" : [ 8.177433013916017, 48.27753810094064 ],
"type" : "Point"
},
"type" : "Feature"
} ],
"type" : "FeatureCollection"
},
"location" : {
"lat" : 48.27753810094064,
"lng" : 8.177433013916017
},
"name" : "Wald und Wiesen",
"owner" : "8a2QQeTG2zRawZJA3tr1oyOAOSF3",
"prices" : {
"game" : {
"Damwild" : 10,
"Raubwild" : 300,
"Rehwild" : 250,
"Schwarzwild" : 40
},
"perDay" : 35
},
"rules" : "Keine …Run Code Online (Sandbox Code Playgroud) 使用此简单代码创建一个 HTML 文件并在 Safari 中打开它。
<html>
<head>
<script type="application/ld+json">
[
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "Parqet",
"url": "https://www.parqet.com/",
"logo": "https://www.parqet.com/logos/parqet_logo_pos.svg",
"sameAs": [
"https://www.facebook.com/parqetcom",
"https://twitter.com/ParqetApp",
"https://www.instagram.com/ParqetApp/",
"https://www.youtube.com/channel/UC4LOcElG8Z73Hvgbbp3m1KQ",
"https://www.linkedin.com/company/parqet/",
"https://github.com/tresorone"
]
}
]
</script>
</head>
<body>
test
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Safari 会产生此错误。
类型错误:未定义不是对象(评估 'r["@context"].toLowerCase')
非常感谢任何有关我们如何解决此问题的见解。在最后一个属性或对象中添加尾随逗号可以消除错误 - 但它不再是有效的 JSON。
我知道,在stackoverflow上至少有三十个这样的问题仍然存在,我无法做到这一点:
一个简单的表格,其中thead被固定/固定在顶部,并且tbody被滚动.我过去几天尝试过这么多,现在我最终在这里哭泣求救.
解决方案应该适用于IE8 +和最新的FF,Chrome和Safari.与其他"像可能重复的区别这一个是,我不希望使用两个嵌套表或jQuery的(普通的JavaScript是罚款虽然).
演示我想要的东西:
http://www.imaputz.com/cssStuff/bigFourVersion.html.
问题是它在IE中不起作用,我可以使用一些JS.
星期六我在Mac上安装了Github Desktop并试用了Github Workflow.创建了一个分支,提交了更改并执行了Pull请求.一切正常.
今天我在工作中安装了Github for Mac - 并且Pull Request Button无处可寻.我现在在私人Mac上回家,现在这里也没有按钮.
正如您在最后一个屏幕截图中看到的那样,分支机构已经在github.com上运行并准备好进行PR.Github for Desktops Timeline(右上角)中的点也很小,这意味着提交被推送.并且dev分支有更改(第二个屏幕截图).
难道我做错了什么?
更新:也许我的分支机构没有资格获得PR?因为菜单项也是灰色的:
我有两个分支,他们已经承诺(并推动)差异......嗯.
在加载页面的4次中,大约有3次是从Firestore客户端SDK(Web)收到此错误的。这极大地减缓了开发速度。身份验证,实时数据库和存储都可以正常工作。
Failed to get document because the client is offline.
Run Code Online (Sandbox Code Playgroud)
有什么我可以做的吗?
我正在从 faunadb 获取文档,我希望他们的 ID 包含在我发送给客户端的有效负载中。
这就是我获取文档并将其数据作为集合返回的方式
serverClient.query(
q.Map(
q.Paginate(q.Documents(q.Collection('Portfolio')), { size: 999999 }),
q.Lambda(x => q.Get(x))
)
)
.then((ret) => ret.data.map(x => ({ ...x.data, _id: x.ref })))
Run Code Online (Sandbox Code Playgroud)
现在_id是一个参考。当我将其登录到控制台时看起来像这样:
Ref(Collection("Portfolio"), "266565241615155713")
Run Code Online (Sandbox Code Playgroud)
就像这样,当 JSON 字符串化它时:
{"@ref":{"id":"266565241615155713","collection":{"@ref":{"id":"Portfolio","collection":{"@ref":{"id":"collections"}}}}}}
Run Code Online (Sandbox Code Playgroud)
我基本上需要266565241615155713从那个 Ref 中获取 ID 。我怎样才能做到这一点?我试过x.ref['@ref'].id但@ref未定义。
文档在这里对我没有帮助
提前感谢您的任何提示。
不知怎的,我在 Firefox 和 Chrome 中得到了不同的 offsetWidth 结果。我有一个简单的按钮
<button class="someClass">Dropdown<i class="iconRight iconArrowDown"></i></button>
Run Code Online (Sandbox Code Playgroud)
它的 offsetWidth 正好是 89 像素。Chrome 如此说,Photoshop 也如此。即使在 Firefox 中,它也显示为 89 像素元素,但 FirebugsoffsetWidth表示它有 90 像素。jQuery 在 Firefox 中也获得了 90 像素outerWidth()。当我使用宽度来计算时,它需要完全正确。
图片1
图2

为什么offsetWidthfirefox的属性不对?
从评论中编辑:
我正在使用自定义字体。禁用字体可以解决问题。然而,在 FF+Linux、FF+Win7 和 Chrome+Win7 上使用自定义字体进行测试 - Windows 7 上的 Firefox 是唯一显示宽度与计算的 offsetWidth 不同的浏览器。尽管由于字体渲染的原因,按钮在 Linux 上有 91 个像素,但计算时没有问题,因为显示的宽度是相同的。现在我可能只能忍受这一点
firebase ×5
database ×1
faunadb ×1
firefox ×1
github ×1
javascript ×1
json-ld ×1
object ×1
offsetwidth ×1
safari ×1
sticky ×1
tableheader ×1