我刚刚注意到,当我在本地进行测试时,Youtube 事件(onReady、onStateChange)不再触发,但当我将代码上传到JsFiddle时,Youtube 事件(onReady、onStateChange)不再触发。我决定从Youtube Player API复制并粘贴代码,我可以在其中验证它确实无法正常工作。还有其他人有这个问题吗?此问题出现在 Chrome、Firefox、IE、Safari 和 Opera 上。
编辑 - 当我console.log(player);在本地时,我发现它缺少很多 Youtube 功能,例如seekTo(), setVolume(),showVideoInfo()这些功能存在于 JsFiddle 中。我不确定为什么会发生这种情况,但我相信这可能是我的问题的根源。有任何想法吗?
<!DOCTYPE html>
<html>
<body>
<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> …Run Code Online (Sandbox Code Playgroud) 我正在使用第三方API,允许我搜索住房属性.遗憾的是,API不是以允许我搜索范围的方式编写的,因此我必须对范围中的每个值单独调用.
因此,如果我想搜索所有有2或3间卧室的房屋,我必须打电话给2间卧室,然后再打3间卧室.现在这可能变得相当棘手,因为有多个字段可以包含一系列数字(卧室,浴室,地板,车库大小......).
我的强力JavaScript解决方案是创建一个嵌套的for循环,它将创建一个包含所有调用的数组.这不是一个可扩展的解决方案,我正在寻找一种方法来动态创建这个for循环或另一种方法来获取我所有调用的数组.
我目前的解决方案
const searchParams = {
minBedrooms: 2,
maxBedrooms: 4,
minBathrooms: 1,
maxBathrooms: 3,
minFloors: 1,
maxFloors: 1
};
let promises = [];
for (let bedrooms = searchParams.minBedrooms; bedrooms <= searchParams.maxBedrooms; bedrooms++) {
for (let bathrooms = searchParams.minBathrooms; bathrooms <= searchParams.maxBathrooms; bathrooms++) {
for (let floors = searchParams.minFloors; floors <= searchParams.maxFloors; floors++) {
promises.push(callApi(bedrooms, bathrooms, floors));
}
}
}
Promise.all(promises).then(response => {
// do stuff with response
}
Run Code Online (Sandbox Code Playgroud)
此外,用户可能不指定搜索参数之一(即 - 卧室数).因此,API不会应用该特定过滤器.我的代码当前将失败,没有传入卧室值,并且为每个for循环写入条件语句不是我的愿望.
关于如何动态生成上述嵌套for循环的任何想法?
编辑
如果用户没有指定卧室数量但指定浴室/楼层,我的当前解决方案将失败,因为循环的初始化将无法运行.我不想使用条件语句和许多嵌套循环来创建我的promise数组.这就是为什么我觉得我需要使用动态生成的for循环.
我有一个 Microsoft Teams Webhook,当 TeamCity 构建失败时它会提醒我。我想知道如何获取当前 TeamCity 版本的 URL,以便我可以将此信息传递到我的 webhook。
我正在编写一个chrome扩展,我试图在现有页面上创建一个GUI.该GUI由输入文本字段和回复按钮组成.我通过创建HTML字符串并将其附加到网站来创建GUI.
我想添加一个事件监听器,以便在按下回复按钮时,它将触发一个函数,这样我就可以将输入文本字段中的数据发送到我的服务器.根据我的理解,一旦代码被附加到页面,它就不再能访问script.js,因此它无法访问事件监听器.还有其他选择吗?
我的GUI图片:http://www.filedump.net/index.php? pic = eventlistenermoot1328028688.jpg
C++是否有一个预先构建的方法来识别你在foreach循环中使用的元素,或者是否有办法确定你是否在最后一个元素上?或者我必须用计数器手动完成吗?
我试图通过在display:none;和之间切换来隐藏/显示谷歌地图display:inherit;.当我申请display:inheritGoogle地图时,部分地图会被裁剪,我不确定原因.如何在使用时解决这个问题display:none;?
//HTML
<button id="toggleMap">Toggle Google Map</button>
<button id="toggleImage">Toggle Image</button>
<div id="image">
<img src="http://jdm-digital.com/wp-content/uploads/2012/04/google-jquery-opt-465x346.jpg">
</div>
<div id="map" style="width:500px; height:500px; display:none;">
<div id="map_canvas" style="height:100%;"></div>
</div>
//JavaScript
$('#toggleImage').click(function() {
$('#image').css('display', 'inherit');
$('#map').css('display', 'none');
});
$('#toggleMap').click(function() {
$('#image').css('display', 'none');
$('#map').css('display', 'inherit');
});
Run Code Online (Sandbox Code Playgroud) 我有一个链接,其文本颜色将通过或.light或应用.dark.此链接还有一个文本颜色,当它悬停在其上时,我无法删除样式(但我可以修改它).当用户将鼠标悬停在链接上时,我希望文本的颜色不会改变.
<h2><a href="resume" class="light">Resume</a></h2>
a:hover { color:#ff0000; } //cannot remove this style
.light { color:#888; }
.dark { color:#000; }
Run Code Online (Sandbox Code Playgroud) 我在我的网站上动态生成按钮.为了检测click这些元素的状态,我相信你需要使用jQuery on().我尝试了以下但它似乎不起作用.难道我做错了什么?
$('.press').on('click', function() {
alert('clicked'); //Does not trigger on dynamic elements
});
Run Code Online (Sandbox Code Playgroud)
当您查看我的JSFiddle时,请注意单击动态生成的按钮不会产生结果.
我创建了一个新变量,carBasket并将foodBasket它们设置为等于basketModule()函数.然而,当我希望这两个变量中的每一个都指向它们自己的函数时,它们指向相同的函数.我想知道我应该做些什么来实现这个目标?
var basketModule = (function() {
var basket = [];
return {
addItem: function(values) {
basket.push(values);
},
getItemCount: function() {
return basket.length;
}
};
}());
carBasket = basketModule;
carBasket.addItem('Audi');
foodBasket = basketModule;
foodBasket.addItem('Ham');
foodBasket.getItemCount(); //outputs 2 instead of 1
Run Code Online (Sandbox Code Playgroud) 我有一个字符串“2019 年 1 月 24 日 12:00 PST”,其中时间设置为浏览器的时区。我将如何使用时刻将其转换为另一个时区(即 - America/New_York),然后获取该时区的时间?
因此,在上面的示例中,我有字符串“Jan 24, 2019 12:00 PST”,其中时区位于浏览器的时区(西雅图)中。我试图在将其转换为纽约时区时获取“2019 年 1 月 24 日 15:00”。
javascript ×5
html ×3
css ×2
c++ ×1
foreach ×1
google-maps ×1
jquery ×1
momentjs ×1
teamcity ×1
timezone ×1
youtube ×1
youtube-api ×1