因此,使用符合HTML 5的视频播放器(如Video JS),如何动态加载视频,而无需重新加载整个页面?想象一下,一个链接列表(类似播放列表),每个链接指向一个视频.单击链接时,我想将选定的视频加载到播放器中.
目前,我正在使用一个持有视频播放器的Iframe,所以基本上我将一个变量传递给Iframe,然后重新加载它.由于一些原因,我不认为这是理想的; 它不允许视频全屏显示,后退按钮不仅仅移动iframe主页,而且还有iframe.我宁愿避免这种情况.
想法?谢谢!
我确定我已经阅读过有关此问题的讨论,但找不到它.简单地说,是否有必要在循环声明中声明for循环的增量?这有什么区别:
function foo() {
for (var i=0; i<7; i++) {
// code
}
}
Run Code Online (Sandbox Code Playgroud)
...还有这个:
function foo() {
var i;
for (i=0; i<7; i++) {
// code
}
}
Run Code Online (Sandbox Code Playgroud)
既然JS有功能范围,要么都应该没问题吧?是否存在前一种方法会导致问题的边缘情况?
如果它们完全相同,那么为什么Crockford/JSLint所有人,"没有办法",关于它?
有没有办法在jQuery中触发粘贴?
或者可能是一个更广泛的问题:是否有任何跨浏览器的方式来触发使用Javascript的粘贴?
所以,我想使用jQuery函数从链接的REL中收集URL,并将其传递给元素.
收集REL并将其发送到没有问题...但是从jQuery触发元素的加载和播放功能需要什么?
这是我到目前为止所拥有的:
$(function(){
$('a.componentLink').click(function() {
event.preventDefault();
var vidURL = $(this).attr('rel');
$('#myVideo > source').attr('src', vidURL);
$('#myVideo').load();
$('#myVideo').play();
})
});
Run Code Online (Sandbox Code Playgroud)
ATM,它没有播放......我认为jQuery本身无法访问播放功能......但必须有办法解决这个问题.
我有几千条记录(存储在MYSQL表中的表中),我需要"批处理".所有记录都包含一个大型JSON.在某些情况下,JSON超过1MB(是的,我的数据库远远超过1GB).
我有一个功能,它抓取一条记录,解码JSON,更改一些数据,将PHP数组重新编码回JSON,并将其保存回数据库.很简单.FWIW,这是在CakePHP应用程序的上下文中.
给定一个ID数组,我试图做这样的事情(非常简单的模拟代码):
foreach ($ids as $id) {
$this->Model->id = $id;
$data = $this->Model->read();
$newData = processData($data);
$this->Model->save($newData);
}
Run Code Online (Sandbox Code Playgroud)
问题是,很快PHP就会耗尽内存.当运行这样的foreach时,几乎就像PHP从一个记录移动到下一个记录,而不释放前面操作所需的内存.
无论如何以这样的方式运行一个循环,以便在继续循环的下一次迭代之前释放内存,这样我才能真正处理大量的数据?
编辑:添加更多代码.此函数接受我的JSON,将其转换为PHP数组,进行一些操作(即根据另一个数组中的内容重新配置数据),并替换原始数组中的值.JSON有很多层深,因此极长的foreach循环.
function processData($theData) {
$toConvert = json_decode($theData['Program']['data'], $assoc = true);
foreach($toConvert['cycles'] as $cycle => $val) {
foreach($toConvert['cycles'][$cycle]['days'] as $day => $val) {
foreach($toConvert['cycles'][$cycle]['days'][$day]['sections'] as $section => $val) {
foreach($toConvert['cycles'][$cycle]['days'][$day]['sections'] as $section => $val) {
foreach($toConvert['cycles'][$cycle]['days'][$day]['sections'][$section]['exercises'] as $exercise => $val) {
if (isset($toConvert['cycles'][$cycle]['days'][$day]['sections'][$section]['exercises'][$exercise]['selectedFolder'])) {
$folderName = $toConvert['cycles'][$cycle]['days'][$day]['sections'][$section]['exercises'][$exercise]['selectedFolder']['folderName'];
if ( isset($newFolderList['Folders'][$folderName]) ) {
$toConvert['cycles'][$cycle]['days'][$day]['sections'][$section]['exercises'][$exercise]['selectedFolder'] = $newFolderList['Folders'][$folderName]['id'];
}
}
if (isset($toConvert['cycles'][$cycle]['days'][$day]['sections'][$section]['exercises'][$exercise]['selectedFile'])) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试在使用漂亮 URL 而不是 ID(这在 REST 场景中很典型)的站点上使用 WP REST API。我所要查询的只是请求的 URL。
假设用户登陆example.com/about,我可以执行以下操作:
/wp-json/wp/v2/pages/?slug=about
Run Code Online (Sandbox Code Playgroud)
没有汗水。但是,如果用户登陆了example.com/about/team怎么办?我可以通过 slug 进行查询team,但也许我的网站也有example.com/contact/team可能的 URL。这不可靠。
我需要的是一种实现以下目标的方法:
/wp-json/wp/v2/pages/?permalink=about%2team
Run Code Online (Sandbox Code Playgroud)
必须为每个创建的页面设置自定义路由是不可行的。我很惊讶 API 似乎没有开箱即用的某种永久链接处理程序。
所以我通过AJAX抓取一个JSON,但需要重新配置它.部分原因是使用变量中包含的字符串作为嵌套对象的属性名称.
但Javascript不允许这样做.它将变量视为文字字符串,而不是读取值.
这是一个片段:
var pvm.exerciseList = [];
$.get('folder_get.php', function(data){
var theList = $.parseJSON(data);
$.each(theList, function(parentFolder, files) {
var fileList = [];
$.each(files, function(url, name) {
thisGuy.push({fileURL: url, fileName: name});
});
pvm.exerciseList.push({parentFolder: fileList});
});
});
Run Code Online (Sandbox Code Playgroud)
有没有办法解决?我需要提取"parentFolder"中包含的字符串.现在,JS只是从字面上解释它.
admin对于一些管理员视图,我在Cakephp应用程序中使用前缀.我也使用Auth根据roleUser表中的字段限制对这些视图的访问.很标准.
问题是,当未经授权的用户试图去,比如说admin/users(在这种情况下禁止索引操作)时,它们被重定向到/admin/users/login当然不存在的状态.
对于没有admin前缀的操作,不会发生这种情况.那些表现得很好.
为什么用户被发送到管理前缀和禁止操作前面的登录?
以下绑定在1.9之前有效:
ko.bindingHandlers.accordion = {
init: function(element, valueAccessor) {
var options = valueAccessor() || {};
setTimeout(function() {
$(element).accordion(options);
}, 0);
ko.utils.domNodeDisposal.addDisposeCallback(element, function(){
$(element).accordion("destroy");
});
},
update: function(element, valueAccessor) {
var options = valueAccessor() || {};
$(element).accordion("destroy").accordion(options);
}
}
Run Code Online (Sandbox Code Playgroud)
但自1.9以来,它不再有效,并给出以下错误:
Uncaught Error: cannot call methods on accordion prior to initialization; attempted to call method 'destroy'
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚原因.我查看了jQuery UI升级说明,但似乎没什么关系.
造成这种情况的原因是什么,我的绑定需要改变什么?
所以我遵循了此页面上的所有说明:
http://toomtech.com/post/8832473042/mamp-imagemagick-lion
Imagick 已安装,我可以验证 imagick.so 是否位于 MAMP 中的相应文件夹中。
但是,phpinfo 中没有显示任何与 Image Magick 或 Imagick 相关的内容...当我调用时,new Imagick()出现错误:找不到类“Imagick”
我可能会错过什么?我在 Lion 上运行 MAMP。
所以,我正在创建一个自定义模式窗口:
var modal = Alloy.createController('modal');
modal.getView().open();
Run Code Online (Sandbox Code Playgroud)
Modal控制器内部是一个被调用的函数changeTitle,在视图中是一个带有id的标签modalTitle.我想弄清楚的是如何从启动 Modal窗口的控制器中调用任何一个.
我以为以下会调用控制器中的函数,但没有骰子:
modal.changeTitle('foo');
Run Code Online (Sandbox Code Playgroud)
同样地,我认为以下将在新创建的视图中定位标签,但同样,没有骰子.
var modalWin = modal.getView();
modalWin.$.modalTitle = 'foo';
Run Code Online (Sandbox Code Playgroud) 所以我试图获取在for语句中递增的变量,并向其添加一个整数...但由于某种原因,它正在添加整数,就像它是一个字符串一样; 减法或乘法等其他操作按预期工作.
为什么会这样?编辑:我添加了整个功能; 问题是我尝试将2添加到变量x的位置.
令我困惑的是,我能够在.eq()对象中使用x没问题,例如......
$(function() {
$('textarea').bind('paste', function (e){
inputGroup = $(this).parent();
var ob = $(this);
if (e.type == 'paste'){
setTimeout(function(){
var data = ob.val();
var tabbed = data.replace(/\n/g, "\t");
var cells = tabbed.split("\t");
for(var x in cells) {
foo = x + 2;
alert(foo);
$(inputGroup).find('input').eq(x).val(cells[x]);
}
}, 1);
}
});
});
Run Code Online (Sandbox Code Playgroud) javascript ×6
jquery ×3
variables ×3
cakephp ×2
string ×2
video ×2
angularjs ×1
api ×1
binding ×1
dynamic ×1
for-loop ×1
html ×1
html5 ×1
html5-video ×1
imagemagick ×1
imagick ×1
integer ×1
jquery-ui ×1
json ×1
knockout.js ×1
mamp ×1
memory ×1
osx-lion ×1
paste ×1
php ×1
redirect ×1
rest ×1
routes ×1
scope ×1
titanium ×1
wordpress ×1