小编rek*_*kam的帖子

从沙盒iFrame到主窗口的PostMessage,origin始终为null

有一些关于javascript postMessage事件的事件来源我没有得到的东西.

这是我的主页:

<html>
<body>

<h1>Test</h1>
<h2>Outside</h2>

<iframe src="iframe-include.html" 
    width="100%" height="100" 
    sandbox="allow-scripts"></iframe>

<script type="text/javascript">
window.addEventListener('message', function (event) {
    console.log(event);
}, false);
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

还有我的iFrame内容

<html>
<body>

<h3>Inside</h3>

<script type="text/javascript">
var counter = 1,
    domain = window.location.protocol + '//' + window.location.host,
    send = function () {
        window.setTimeout(function () {
            console.log('iframe says:', domain);
            window.parent.postMessage(counter, domain);
            counter += 1;
            send();
        }, 3000);
    };

send();
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

查看控制台,即使iFrame中的域变量正确,事件对象的origin属性也始终为null.

我的控制台说:

iframe-include.html:11 iframe says: http://127.0.0.1:8181
iframe.html:11 MessageEvent {isTrusted: true, data: 2, origin: "null", lastEventId: …
Run Code Online (Sandbox Code Playgroud)

javascript html5 postmessage

12
推荐指数
2
解决办法
1910
查看次数

iOS 7:AVAudioPlayer的简单音频控件?

我刚开始使用xCode编写iOS应用程序,并且找到工作原理并不是很容易也不直观.我对此很新,我的应用程序继续非常慢^^.无论如何,我现在正在尝试iOS7上的东西,至少.

我设法创建了具有海关单元和动态高度的动态表格,但现在我找不到解决问题的方法......也许我没有在正确的地方搜索...无论如何.

我有一个音频播放,感谢这些线路:

NSString *path = [[NSBundle mainBundle] pathForResource:@"song" ofType:@"mp3"];
AVAudioPlayer *audio = [[AVAudioPlayer alloc]
initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];

[audio play];
[audio updateMeters];
Run Code Online (Sandbox Code Playgroud)

现在,这很棒,我的音频播放.但我没有任何控制.我成功添加了播放/暂停按钮,但如何在音频内导航?我必须编写所有接口的代码吗?没有简单的界面与按钮和响应进度条?

如果我必须编码,那么,哼......我从哪里开始?

非常感谢!

avaudioplayer ios xcode5

8
推荐指数
1
解决办法
2万
查看次数

在包含中设置 Twig 变量并在之后使用它

假设您有一个包含另一个模板的树枝模板 (tplA.twig)

<p>Twig template A</p>

{% set test = "in tpl A" %}
<p>first, variable is: {{ test }}</p>

{% include "tplB.twig" %}
<p>and the variable is: {{ test }}</p>
Run Code Online (Sandbox Code Playgroud)

和包含的模板(tplB.twig)

<div>Content of tpl B</div>
{% set test = "now is tpl B" %}
Run Code Online (Sandbox Code Playgroud)

在包含的模板中设置/更改变量并在主模板中使用它的最佳方法是什么?如何使用全局变量?请注意,我不能使用块和扩展,而且我没有使用 Symfony。

非常感谢

编辑

真正的上下文是一个非常基本的多语言结构。对于一个页面,我有一个主模板:

<h1>{{ i18n('mainTitle') }}</h1>
<h2>current language (fr, en): {{ ln }}</h2>

<!-- here a list of photos, but not in a foreach loop -->
<div>
    <div>
        <img src="/same/for/all/languages-a.jpg" alt="localized A" …
Run Code Online (Sandbox Code Playgroud)

php template-engine global-variables twig

6
推荐指数
1
解决办法
2404
查看次数

GhostScript dPDFSETTINGS 快捷方式

我对 GhostScript 世界非常陌生,我想知道我们编写时设置的配置是什么,例如 -dPDFSETTINGS=/ebook?

我面临的问题是 /ebook 质量太低,而 /printer 太重。我正在寻找中间的某个地方:)

pdf dpi ghostscript

6
推荐指数
2
解决办法
5578
查看次数

获取PDFKit作为base64字符串

我正在寻找一种方法来获取PDFKit文档的base64字符串表示.我找不到正确的方法来做到这一点......

像这样的东西会非常方便.

var doc = new PDFDocument();
doc.addPage();

doc.outputBase64(function (err, pdfAsText) {
    console.log('Base64 PDF representation', pdfAsText);
});
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用blob-streamlib,但它在节点服务器上Blob不起作用(它说它不存在).

谢谢你的帮助!

stream node.js node-pdfkit

6
推荐指数
1
解决办法
3452
查看次数

具有 5 个表的复杂 SQL 联接

我正在开发一个相对庞大的应用程序,其中包含相当多的表。我必须编写一个 SQL 查询,它在简化后涉及 5 个表(有关连接,请参见 jpg)。

想法如下:人有地址,地址有类型(私人、专业等)和国家。人也可以有选择。这些选项(此处在带有 name_id 的选项表中说明)可以链接到地址类型。

这个想法是提取所有拥有一个或多个地址的人,这些地址由一个国家指定,并且他们也出现在 [option address] 表中。

例如,假设我们想要地址为 country_id=1 的人。结果集必须排除与其选项链接的地址类型不同的人员。

嗯...我不确定我是否了解自己 :)

但无论如何,这是创建所有内容的 SQL。

CREATE TABLE `address` (
  `person_id` int(11) NOT NULL,
  `type_id` int(11) NOT NULL,
  `country_id` int(11) NOT NULL,
  UNIQUE KEY `apt` (`person_id`,`type_id`),
  KEY `apid` (`person_id`),
  KEY `atid` (`type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `address` (`person_id`, `type_id`, `country_id`) VALUES
(1, 1, 1),
(2, 2, 1),
(3, 1, 1),
(3, 2, 2),
(5, 1, 2),
(6, 2, 1),
(7, 1, 1),
(7, 2, …
Run Code Online (Sandbox Code Playgroud)

sql join create-table

5
推荐指数
1
解决办法
3万
查看次数

在Sendgrid Design模板中,如何对表使用车把迭代?

我正在使用带有模块“代码”的SendGrid在线“设计”模板。

他们在他们的文档(https://sendgrid.com/docs/ui/sending-email/editor/#code-modules)中说,代码编辑器不会修改或验证任何HTML

如果我在代码模块中编写这段代码:

<ul>
{{#each items}}
    <li>test</li>
{{/each}}
</ul>
<table>
<tbody>
{{#each items}}
    <tr>
        <td>Col 1</td>
        <td>Col 2</td>
    </tr>
{{/each}}
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

结果是:

<ul>
{{#each items}}
    <li>test</li>
{{/each}}
</ul>
{{#each items}}{{/each}}
<table>
<tbody><tr>
        <td>Col 1</td>
        <td>Col 2</td>
    </tr></tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我们可以看到该{{each}}函数在的正确位置保留ul,但是从的内部删除了table。这是暂时的错误吗?我该如何进行简单的操作?

谢谢你的帮助

sendgrid handlebars.js sendgrid-templates

5
推荐指数
1
解决办法
569
查看次数

Angular 2 Http缓存

给定以下代码(测试代码),只有一次调用所请求文件的最佳方法是什么?目前,每次按下该按钮,都会完成XHR请求.

import {Injectable} from 'angular2/core';
import {Http} from 'angular2/http';

@Injectable()
export class MyService {
    constructor(private http: Http) {}
    getList() {
        return this.http.get('./public/data.json')
            .map(res => res.json());
    }
    getOne(id: number) {
        return this.getList()
            .map(data => data.filter(my => my.id === id)[0]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是json数据文件

[
    {"id": 1, "name": "Data 1"},
    {"id": 2, "name": "Data 2"},
    ...
]
Run Code Online (Sandbox Code Playgroud)

这是组件文件.它使用一个简单的模型文件(它只是一个具有id和name属性的类)

import {Component} from 'angular2/core';
import {MyService} from 'my-service';
import {MyModel} from 'my-model';

@Component({
    selector: 'test',
    templateUrl: `
        <button (click)="getRandom()">Test</button>
        <p>{{ selected.name }} ({{ selected.id }})</p> …
Run Code Online (Sandbox Code Playgroud)

angularjs typescript angular

0
推荐指数
1
解决办法
2358
查看次数