如果您想允许用户将您网站上的文件保存到 Google 云端硬盘,这非常简单。只需使用“保存到驱动器”按钮,几行代码即可处理所有事情。伟大的。
我希望我的网站具有这种行为。但是,我想在那里保存用户生成的文本,而不是服务器上的静态文件。我在 JavaScript 变量中有文本,但似乎无法使用简单的“保存到驱动器”按钮。文档指出“数据 URI ...不受支持”,我的测试表明对象 URL类似地不受支持(这个人发现了同样的事情)。
我知道,理论上,应该可以使用 Google Drive API 来做我想做的事情。这个问题和这个问题提供了一些关于它如何工作的提示,但这一切看起来都非常复杂(甚至没有人制作一个演示来证明它确实有效,AFAICT)。
我不想处理用户登录、会话、API 密钥、授权、权限、让用户在 Google Drive 中“安装”我的应用程序等。我只想要一个按钮,有人可以按下来存储来自 JS 的一些文本新文档中的变量。“保存到驱动器”按钮的具体工作原理。这是否可行?
这不仅关系到我的复杂性,也关系到我的用户的复杂性。我想为他们提供一个非常简单、独立的功能。我不希望我的应用程序与 Google 云端硬盘紧密相连。
同时通过IndexedDB的美妙的世界我的方式,我碰到像代码这个来自Mozilla的测试套件:
/**
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
var testGenerator = testSteps();
function testSteps()
{
const IDBObjectStore = Components.interfaces.nsIIDBObjectStore;
const name = this.window ? window.location.pathname : "Splendid Test";
const description = "My Test Database";
var data = [
{ name: "inline key; key generator",
autoIncrement: true,
storedObject: {name: "Lincoln"},
keyName: "id",
keyValue: undefined,
},
{ name: "inline key; no key generator",
autoIncrement: false,
storedObject: {id: 1, name: "Lincoln"},
keyName: "id",
keyValue: undefined, …Run Code Online (Sandbox Code Playgroud) 我想使用CSS列在多列中动态显示一些Bootstrap列表组,但我在Chrome中遇到了一些奇怪的间距问题.Firefox完美运行.这看起来就像这个家伙的问题,但他从来没有得到答案,可能是因为他没有提供一个很好的例子.所以我会提供一个很好的例子.
CSS(在Bootstrap之后加载):
.columns {
-webkit-column-width: 200px;
-moz-column-width: 200px;
column-width: 200px;
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
width: 600px;
}
.list-group {
display: inline-block;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="columns">
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
</ul>
<ul class="list-group">
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
</ul>
<ul class="list-group">
<li …Run Code Online (Sandbox Code Playgroud) 假设我有这个HTML:
<div id="container"></div>
<p>Output: <span id="output"></span></p>
Run Code Online (Sandbox Code Playgroud)
这个JS:
function otherAction(e) {
document.getElementById('output').innerHTML = 'otherAction';
e.preventDefault();
}
function submit(e) {
document.getElementById('output').innerHTML = 'submit';
e.preventDefault();
}
ReactDOM.render(
<form onSubmit={submit}>
<input type="text" defaultValue="foo" />
<button onClick={otherAction}>Other Action</button>
<button type="submit">Submit</button>
</form>,
document.getElementById('container')
);
Run Code Online (Sandbox Code Playgroud)
实际上,让我们不要只是说出来,让我们把它放在一个JSFiddle示例中.我想要发生的是:
单击"其他操作"按钮会触发该otherAction功能(确实如此!)
单击"提交"按钮会触发该submit功能(确实如此!)
将光标放在文本框中并按Enter键会触发该submit功能(这当前不起作用!)
在#3中,发生的是otherAction触发的.我怎么能改变呢?
如果页面顶部有一个绝对定位(位置:固定)栏,就像许多网站一样,它会破坏Page Down按钮(以及Page Up)的行为.而不是Page Down会让您在屏幕顶部留下一行左右的文本,而这些文本之前位于屏幕底部,以便继续阅读,因此会有一些非常烦人的截止.这是一个人为的例子.有没有办法解决这个问题(除了避免在页面顶部固定位置栏)?
以下链接示例的源代码在下面重复以供后人使用:
<!doctype html>
<html lang="en">
<head>
<style type="text/css">
#bar {
background: #f00;
height: 200px;
position: fixed;
top: 0;
width: 100%;
}
p {
margin-top: 250px;
}
</style>
</head>
<body>
<div id="bar">IMPORTANT STUFF GOES HERE</div>
<p>When you press Page Down (and then Page Up the other way), some of the list items are cut off below the red bar.</p>
<ol><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li></ol>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我发现其他人已经在问这个问题,但似乎他得到的唯一答案就是有人误解了这个问题.希望我的问题,包括一个例子,更清楚,有人可以帮助我.
我想要一个对话窗口,其中一些按钮关闭对话框而其他按钮则不关闭.我这样做的方法是使用response来自对话框的Gtk.Dialog调用信号emit_stop_by_name('response').(如果有人知道这样做的更好方法,那么可能会抢占这个问题的其余部分.)
这在我使用PyGTK时起作用了.我现在正在转向PyGObject ..似乎这种技术只有在我手动连接到响应信号而不是使用时才能工作Gtk.Builder.connect_signals().
但是不要相信我的话.这是我的问题的最小例子:
from gi.repository import Gtk
xml = """<interface>
<object class="GtkDialog" id="dialog1">
<signal name="response" handler="on_response"/>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
<child>
<object class="GtkButton" id="button1">
<property name="label">Don't Close Dialog</property>
<property name="visible">True</property>
</object>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">Close Dialog</property>
<property name="visible">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<action-widgets>
<action-widget response="0">button1</action-widget>
<action-widget response="-6">button2</action-widget>
</action-widgets>
</object>
</interface>
"""
def on_button_clicked(widget):
d = DummyDialog()
d.dialog1.run()
d.dialog1.destroy() …Run Code Online (Sandbox Code Playgroud) 我有一个这样的下拉菜单:
<select id="test">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果我想在用户更改其选择时运行某些东西,那么使用jQuery.change()很容易.然而,众所周知,如果用户具有<select>活动状态并且仅使用向上/向下箭头(或其他键盘导航方法)移动选项,则这将不起作用.
这是我的用例的问题.即使使用向上/向下箭头查看不同的选项,我也需要根据所选值触发事件.
我不是第一个遇到这个问题的人.以下是对此问题的讨论,基本上如果要在所有浏览器中处理此方案,则必须查找按键.其他类似的问题也有类似的答案.但是......它不起作用,我将在下面说明.
看似最简单的解决方法是使用jQuery.keypress()来注意何时处于<select>活动状态并按下某个键.像这样的东西:
<select id="test">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<div id="log">
<script>
var log = $("#log");
var select = $("#test");
select.change(function () { log.append(select.val() + "<br>"); });
select.keypress(function () { log.append(select.val() + "<br>");; });
</script>
Run Code Online (Sandbox Code Playgroud)
我在Chrome 25(Ubuntu 12.10和Windows XP),Firefox 19(Ubuntu 12.10)和IE 7(Windows XP)中进行了测试,这是我手边的唯一浏览器.
除了Firefox,我的代码在所有这些代码中运行良好.在我的示例中,单击下拉菜单两次以选择菜单关闭,然后按"向下,向下,向下"(移至2,3和4)和"向上,向上,向上"(移至3, 2,和1)你会看到这个输出:
2
3
4
3 …Run Code Online (Sandbox Code Playgroud) 我想为我正在编写的一个软件生成一些假人.这些人也有种族,与那些种族相比,我宁愿不要看起来不完全不合适的名字.
我的第一个想法是以数据为基础.有一张1990年美国人口普查的名字和姓氏的表格,附有频率,但没有提及种族.还有一张2000年美国人口普查的姓氏表,按种族划分,但它没有说出名字.
所以我需要一些基于种族生成名字的方法.有任何想法吗?
在MATLAB中,ode45有一个参数调用NonNegative,它将解决方案约束为非负.他们甚至写了一篇关于这种方法是如何工作的文章,以及它不是什么愚蠢的东西,只要将y_i设置为0就会变成负数,因为这通常不起作用.
现在,MATLAB也有dde23解决延迟微分方程的问题,但NonNegative该积分器没有等效参数.
不幸的是,我任务是将延迟到使用解决了现有的ODE系统ode45与NonNegative启用.
有什么想法我应该继续吗?
编辑:
我不确定这是否有用,但......
我的系统的DDE部分看起来像:
dx = 1/(1+y*z) - x;
dy = (y*z)^2/(1+(y*z)^2) - y;
dz = X - z;
Run Code Online (Sandbox Code Playgroud)
其中X(第三个等式中的大写字母变量)是延迟版本x.然后,我通过添加几个方面的方程此DDE系统连结至现有的(以及更大)的ODE系统x和z,然后将合并的系统集成在一起.
matlab scipy numerical-methods numerical-integration differential-equations
我知道这IDBObjectStore.getAll不是IndexedDB标准的一部分,它可能永远不会.但它是在FireFox中实现的,如果您必须从数据库中检索大量对象,它会使您的代码更漂亮.
是否有可能制作某种polyfill或允许getAll在其他支持IndexedDB的浏览器中工作的东西?实际的功能getAll很简单,但我不知道如何在非Firefox浏览器中复制其精确语法的上下文中处理IndexedDB的异步性质.