我有安装了vagrant的Mac OS.在客机上我有Ubuntu 12.所以,我想做的是从主机ping客户机.
连接到NAT的来宾机(根据VirtualBox设置)
我在客机上找到了一个接口(lo除外):
eth0 Link encap:Ethernet HWaddr 08:00:27:88:0c:a6
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe88:ca6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:581 errors:0 dropped:0 overruns:0 frame:0
TX packets:410 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:61376 (61.3 KB) TX bytes:51599 (51.5 KB)
Run Code Online (Sandbox Code Playgroud)
问题是主机上的10.0.2.*网络中没有IP地址.主机有几个vboxnet接口,但它们都没有任何ip地址:
vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00
vboxnet1: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:01
vboxnet2: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:02
vboxnet3: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:03
Run Code Online (Sandbox Code Playgroud)
您是否知道为什么VirtualBox没有将ip地址分配给主机?我能做些什么才能ping阵风?
这是我的流浪文件(我删除了一些我不使用的注释行):
# -*- mode: ruby -*-
# vi: …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
var selectedTitles = $("#js-otms-titles-table .select_title :checkbox:checked").map(function() {
return $(this).attr('data-titleId');
});
console.log("Selected titles");
console.log(selectedTitles);
Run Code Online (Sandbox Code Playgroud)
我希望结果将是一个数组.但是我得到的对象如下:
Object["55a930cd27daeaa6108b4f68", "55a930cd27daeaa6108b4f67"]
Run Code Online (Sandbox Code Playgroud)
是否有特殊标志传递给函数?在docs中,他们将数组作为返回值.我错过了什么?
jQuery 1.11.2
我正在使用Zend Framework和DOMPDF库.当我用内联css测试它时,一切都很完美.但是当我试图将css代码移动到外部文件时,规则并未应用于html页面.
这是我的代码.
require_once( "DOMPDF/dompdf_config.inc.php");
$this->_helper->layout->disableLayout();
$html = $this->view->render('index/dom.phtml');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$pdfContent = $dompdf->output();
file_put_contents('sample.pdf', $pdfContent);
die("test");
Run Code Online (Sandbox Code Playgroud)
2.相应视图的代码(index/dom.phtml)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link type="text/css" href="/themes/css/pdf.css" rel="stylesheet" media="screen"/>
</head>
<body>
<div>Tamara testing</div>
<table border="1">
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
<tr>
<td>Value 1</td>
<td>Value 2</td>
</tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
3.和我的CSS文件:
div {color: red;}
Run Code Online (Sandbox Code Playgroud)
如何使其工作?
更新:
为了使它工作,我改变了以下的事情:
1.在控制器的操作中添加外部文件的基本路径
$dompdf->set_base_path(APPLICATION_PATH."/../public/themes/css/");
Run Code Online (Sandbox Code Playgroud)
2.在视图中更改链接标记的href属性.使其相对于步骤1中设置的基本路径.
<link type="text/css" href="pdf.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud) 我正在使用Selectize.js,我需要克隆带有转换选择元素的html子表单.克隆并插入子表单后,选择功能被破坏.
我已经读过,其中一个解决方案是为克隆选择调用destroy()方法,并在初始化之后再次为它们选择selectize.
我试着遵循这个建议,我的代码如下:
$(formFields).find("select").each(function(){
if (this.selectize) {
this.selectize.destroy();
}
});
Run Code Online (Sandbox Code Playgroud)
我期望看到的是标准的选择元素,但我看到没有工作下拉功能的选择元素.有任何想法吗?
我正在使用jquery相互依赖库来构建复杂的表单(当你显示字段依赖于来自其他字段的值时).
所以,我有<select>元素
<select placeholder="Select Product ID Type" id="form_product_id_type" name="form_product_id_type">
<option label="01 - Proprietary" value="01">01 - Proprietary</option>
<option label="02 - ISBN-10" value="02">02 - ISBN-10</option>
<option label="03 - GTIN-13" value="03">03 - GTIN-13</option>
<option label="04 - UPC" value="04">04 - UPC</option>
<option label="05 - ISMN-10" value="05">05 - ISMN-10</option>
...
</select>
Run Code Online (Sandbox Code Playgroud)
如果用户选择选项"01",那么我应该显示另一个字段"TypeDescription",用户可以在其中描述他的专有id方案.如果用户从select中选择任何其他选项 - 将不会出现"TypeDescription"字段.
事情就是第一个选择
<option label="01 - Proprietary" value="01">01 - Proprietary</option>
Run Code Online (Sandbox Code Playgroud)
在打开页面时始终默认选中,因此始终显示"TypeDescription"字段.
有没有办法从<select>元素中取消选择所有选项?我的目标是当用户打开页面时,他不应该看到字段"TypeDescription".
我有一个元素的标识符,如下所示:
form_book_1_2_3
Run Code Online (Sandbox Code Playgroud)
我想要的是用其他值替换此标识符中的第二个数字.我使用函数'match'和以下正则表达式:
var regexp = /\d_(\d)_\d/;
Run Code Online (Sandbox Code Playgroud)
但它返回包含的数组
[1_2_3, 2]
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试使用'replace'函数时,它实际上会替换'1_2_3'字符串而不是'2'.我不明白如何指向替换函数中的第二个匹配元素.或者也许我的正则表达式错了?
在 mongo 中,我存储具有“titleComposite”字段的对象。该字段包含标题对象的数组,如下所示:
"titleComposite": [
"0": {
"titleType": "01",
"titleText": "Test cover uploading"
}
]
Run Code Online (Sandbox Code Playgroud)
我正在执行查询,我只想接收返回值的“titleText”值。这是我的查询的示例:
db.onix_feed.find({"addedBy":201, "mediaFileComposite":{$exists:false}}, {"isbn13":1,"titleComposite.titleText":1})
Run Code Online (Sandbox Code Playgroud)
在结果中我看到类似的值
{
"_id" : ObjectId("559ab286fa4634f309826385"),
"titleComposite" : [ { "titleText" : "The Nonprofit World" } ],
"isbn13" : "9781565495296"
}
Run Code Online (Sandbox Code Playgroud)
有没有办法摆脱“titleComposite”包装对象并只接收 titleText?例如,只取第一个元素的titleText?
将不胜感激任何帮助
我正在尝试为React组件编写第一个测试,并不断出错:
ReferenceError: navigator is not defined
Run Code Online (Sandbox Code Playgroud)
我有组件,其中一个子组件使用Codemirror来显示可编辑的文本区域。事实是,在Codemirror中可以检查导航器的类型。由于我不是在浏览器中运行此代码,而是在带有node.js的终端中运行,因此未定义。
SO上的一些人建议设置全局变量,但这对我不起作用。这是测试代码:
global.navigator = {
userAgent: 'node.js'
};
import React from 'react'
import { shallow, render } from 'enzyme'
import { expect } from 'chai'
import { MessagesView } from '../../components/MessagesView'
describe('components', () => {
describe('Message views', () => {
it('render buttons', () => {
})
})
})
Run Code Online (Sandbox Code Playgroud)
还有设置导航变量的方法吗?或者也许我可以使用mocha选项设置全局变量?
我有 2 个“DOMDocument”对象 - $original 和 $additional。我想要的是从 $additional DOMDocument 中取出所有孩子并将其附加到 $original 文档的末尾。
我的计划是获取 $additional 文档的根元素。我尝试使用:
$root = $additional->documentElement;
$original->appendChild($root)
Run Code Online (Sandbox Code Playgroud)
但是我收到 appendChild 期望 DOMNode 对象作为参数的错误。我尝试通过以下方式访问文档的每个子项:
$additional->childNodes->item(0);
Run Code Online (Sandbox Code Playgroud)
但它返回 DOMElement 的对象。你能建议如何获取 DOMNode 类的对象吗?提供此导入操作的最方便的方法是什么?
$original XML 看起来像:
<?xml version="1.0" encoding="utf-8"?>
<Product>
<RecordReference>345345</RecordReference>
<NotificationType>03</NotificationType>
<NumberOfPages>100</NumberOfPages
</Product>
Run Code Online (Sandbox Code Playgroud)
$additional XML 看起来像:
<?xml version="1.0" encoding="utf-8"?>
<MainSubject>
<SubjectScheme>10</SubjectScheme>
</MainSubject>
Run Code Online (Sandbox Code Playgroud)
我想要的:
<?xml version="1.0" encoding="utf-8"?>
<Product>
<RecordReference>345345</RecordReference>
<NotificationType>03</NotificationType>
<NumberOfPages>100</NumberOfPages>
<MainSubject>
<SubjectScheme>10</SubjectScheme>
</MainSubject>
</Product>
Run Code Online (Sandbox Code Playgroud) 我正在构建Excel模板,以从我们的用户那里获取有关产品的数据。问题是某些字段的数量可能会有所不同。
例如,产品可以有1个贡献者或12个贡献者。每个贡献者都有以下字段:
我认为在Excel模板中包含12 * 4列不是一个好主意,因为第二天用户可以发送包含13个贡献者的产品。
我决定在一个单元格中包含有关所有贡献者的数据,例如在“贡献者密钥名称”单元中,我将拥有所有产品贡献者的名称,在“贡献者角色”单元中,我将具有所有贡献者的角色,等等。
我想用新的线符号划分贡献者数据。我使用以下数据创建了Excel表:

问题是,当我在PHP中读取这些单元格的值(例如“贡献者键名称”)时,看不到换行符号。相反,我收到带有奇怪字符的字符串:

我试着做
explode('\n',$cellValue);
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
我使用PHPExcel库处理表。
我的问题是-如何在Excel中编码换行符号?您建议在Excel单元中使用什么作为分隔符?
UPD:
因此,为了用换行符分隔字符串,应使用“ \ n”作为分隔符。
我认为,字符串中出现了奇怪的符号,因为最初我是在Numbers应用程序中创建表,然后导出为xslx格式。(数字在导出过程中出现换行符问题)
我正在编写默认返回 utf-8 格式文档的函数,如果您提供特殊参数,它将返回 utf-16le 格式的内容。我开始为这个函数编写单元测试,我不明白的是如何检查编码是“utf-8”还是“utf-16le”。我已经尝试过mb_detect_encoding,但即使在这段代码片段中它也会返回false:
$utf16Doc = mb_convert_encoding($doc, "utf-16le", "utf8");
$test = mb_detect_encoding($utf16Doc, "utf-16le");
var_dump($test);
Run Code Online (Sandbox Code Playgroud)
感谢任何如何在测试中检查编码是 utf-16le 而不是 utf-8 的想法。
javascript ×4
jquery ×3
php ×3
css ×1
domdocument ×1
dompdf ×1
html ×1
mocha.js ×1
mongodb ×1
navigator ×1
phpexcel ×1
reactjs ×1
regex ×1
selectize.js ×1
utf-16le ×1
utf-8 ×1
vagrant ×1
virtualbox ×1
xml ×1