网络语音api我有一个奇怪的问题.我已经设置了一些代码来说出一串文字 - 很少,它用正常的声音说话("Alex"来自Mac OS X中的听写和语音设置).但通常情况下,它的声音是"阿尔伯特".
我正在看这里列出的w3c网络语音api:
https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-ttsgetvoices
并且有一个名为的界面
SpeechSynthesisVoiceList {}
我试图访问此功能,但我不能.
我该如何访问此语音列表?我正在使用铬金丝雀,我已经尝试了很多这样做的方法.我期望的工作是:
var u = new SpeechSynthesisUtterance();
console.log(u.getVoices());
Run Code Online (Sandbox Code Playgroud)
要么
var u = new SpeechSynthesisVoiceList();
console.log(u);
Run Code Online (Sandbox Code Playgroud)
我也跑:
console.log(window)
Run Code Online (Sandbox Code Playgroud)
我看到很多关于网络语音api和语音合成的事情,但没有关于声音的事情.
javascript speech-recognition webkit google-chrome text-to-speech
我有一个Fabric.js原型,人们可以将照片,文本和地图加载到画布中.当它们完成后,我希望它们能够将画布保存为图像.我尝试过使用这个标准:
canvasURL = canvas.toDataURL();
var image = new Image();
image.src = canvas.toDataURL("image/png");
$('#canvasContainer').replaceWith(image);
Run Code Online (Sandbox Code Playgroud)
但是它说画布是tainted- 我认为是因为图像(上面的方法只是文字时才有效).错误是:
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
Run Code Online (Sandbox Code Playgroud)
我可以使用Fabric的内置方法保存为SVG:
var canvasSVG = canvas.toSVG();
$('#canvasContainer').replaceWith(canvasSVG);
Run Code Online (Sandbox Code Playgroud)
但我宁愿拥有PNG/JPG.有任何想法吗?
这是关于画布序列化的Fabric.js文档.
我按照一些文档来使用JavaScript替换功能,并没有改变任何东西.没有错误被抛出.知道我做错了什么吗?该变量是从XML中检索的 - 可能需要将其转换为字符串或其他内容?
for (var i = 0, iln = projects.length; i < iln; i++){
var thumb = projects[i].get('thumb');
thumb.replace("200.jpg", "640.jpg");
console.log(thumb) //200.jpg not replaced
}
Run Code Online (Sandbox Code Playgroud)
完整的拇指值应如下所示:
http://b.vimeocdn.com/ts/160/895/160895498_200.jpg
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来寻找和替换东西?
我试图检测移动设备上的方向变化,并在方向完成后触发功能,但功能内的代码在Android中不断触发,我不知道为什么.这是我的代码:
var supportsOrientationChange = "onorientationchange" in window;
var orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
window.addEventListener(orientationEvent,
function() { alert ('orientation changed'); },
false
);
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何写这个,以便它只在方向改变完成后触发一次?
我试图动态地找到一个具有特定宽度的css类的项目的宽度,以便动态定位其背景图像(精灵).但是,该项尚未添加到DOM中.有没有办法在添加到DOM之前读取类的宽度属性?
我正在使用d3.js创建一个图表,我想要一些如何以矢量格式导出以在Illustrator中编辑.这可能吗?这是生成的代码片段:

我正在使用html5的拖放功能来重新排列屏幕上的dom元素 - 当我这样做时,我将css行为附加到拖放的各种状态,但我遇到的问题是悬停状态甚至在我之后仍然存在从DOM元素中拖出,删除和挖出.这是我的代码:
JAVASCRIPT:
function addDragListeners(){
$('.segmentListItem').each(function(index){
$(this)[0].addEventListener('dragstart',handleDragStart,false); //rollover for current
$(this)[0].addEventListener('drop',handleDrop,false); //drops dragged element
$(this)[0].addEventListener('dragover',handleDragOver,false); //allows us to drop
$(this)[0].addEventListener('dragenter',handleDragEnter,false); //rollover for target
$(this)[0].addEventListener('dragleave',handleDragLeave,false); //sets dragged item back to normal
$(this)[0].addEventListener('dragend',handleDragEnd,false); //sets all back to normal
});
}
function handleDragEnter(e) {
// this / e.target is the current hover target.
this.classList.add('over');
}
function handleDragLeave(e) {
this.classList.remove('over'); // this / e.target is previous target element.
}
function handleDragEnd(e){
$('.segmentListItem').removeClass('over'); //removes the over class on all elements
}
function handleDragStart(e){
draggedItem …Run Code Online (Sandbox Code Playgroud) 我正在为某人建立一个网站,他们希望能够让该网站在某个URL上获取github readme markdown文件并将其显示在网站上,这样就不必在两个地方写自述文件了来自github.那可能吗?我该怎么做?我看到了这个:
https://github.com/coreyti/showdown
这将markdown转换为html,但我仍然不知道如何获取自述文件URL并将其转换为showdown可以解析的对象.
任何想法将不胜感激.
我有一个非常简单的网页,它只是使用骨干来加载模板文件中的视图:
<div id="content"></div>
<script src="js/vendor/json2.js"></script>
<script src="js/vendor/jquery-2.0.2.min.js"></script>
<script src="js/vendor/underscore-min.js"></script>
<script src="js/vendor/backbone-min.js"></script>
<script src="js/flight-match-form.js"></script>
<script type="text/template" id="template-flight-match">
<section id="form-search" class="content-inner clearfix">
<div id="date-container" class="search-row clearfix">
<label class="search-label" for="date">Travel Date</label>
<img src="images/structure/icon-calendar.png" alt="calendar" class="calendar">
<span class="help-text" id="date-unknown">don't know it?</span>
</div>
<div id="flight-container" class="search-row clearfix">
<label class="search-label" for="date">FLIGHT #</label>
<input type="text" class="search-input" id="input-flight" pattern="[a-zA-Z0-9]+">
<span class="help-text" id="date-unknown">don't know it?</span>
</div>
<button id="button-match">
Match
<img src="images/structure/icon-arrow.png" height="15" width="20" alt="Submit Arrow">
</button>
</section>
</script>
Run Code Online (Sandbox Code Playgroud)
在flight-match-form.js中,我只是说:
$(document).ready(function(){
var MatchView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: …Run Code Online (Sandbox Code Playgroud) 我正在尝试选择具有特定属性值的DOM元素.我想避免使用each()循环,但我在jQuery中看到的只是能够检测数据属性的存在,而不是它的值.所以,我想完成这样的事情:
if ($('.item[data-index="' + indexVal + '" ]'){
//if an .item with the data-index value of indexVal exists...
}
Run Code Online (Sandbox Code Playgroud)