Sharepoint 2010 Web部件中的Mediaelement错误(Sharepoint 2010)
我从mediaelement-and-player.min.js收到一个错误: 行:44 错误:对方法或属性访问的意外调用。 我正在尝试在Sharepoint 2010的Web部件中使用播放器。我正在尝试的例子是YouTube的例子 以下是我从Web部件中剪下的代码片段 jQuery由SP2010中的母版页加载 加载插件:Sharepoint 2010 Web部件中的Mediaelement错误(Sharepoint 2010),sharepoint-2010,media-player,web-parts,mediaelement.js,Sharepoint 2010,Media Player,Web Parts,Mediaelement.js,我从mediaelement-and-player.min.js收到一个错误: 行:44 错误:对方法或属性访问的意外调用。 我正在尝试在Sharepoint 2010的Web部件中使用播放器。我正在尝试的例子是YouTube的例子 以下是我从Web部件中剪下的代码片段 jQuery由SP2010中的母版页加载 加载插件: this.Controls.Add(new CssRegistration() { Name = "/_layouts/Script/mediaelement/mediael
this.Controls.Add(new CssRegistration() { Name = "/_layouts/Script/mediaelement/mediaelementplayer.css", EnableCssTheming = true });
this.Controls.Add(new ScriptLink { Name = "/_layouts/Script/mediaelement/mediaelement-and-player.min.js", Language = "javascript", Localizable = false, LoadAfterUI = true });
this.Controls.Add(new ScriptLink { Name = "/_layouts/Script/video.js", Language = "javascript", Localizable = false, LoadAfterUI = true });
writer.Write("<video width='320' height='240' id='player1' >");
writer.Write(" <!-- Pseudo HTML5 -->");
writer.Write(" <source src='" + VideoPickerUrl + "' type='video/youtube' />");
writer.Write("</video>");
writer.Write("<span id='player1-mode'></span>");
$("video").mediaelementplayer({
enablePluginDebug: true,
pluginPath: '/_layouts/Script/mediaelement/',
flashName: 'flashmediaelement.swf',
success: function (media, node, player) {
$('#' + node.id + '-mode').html('mode: ' + media.pluginType);
},
error: function () {
$('#' + node.id + '-mode').html('Noe er feil!');
}
});
HTML代码:
this.Controls.Add(new CssRegistration() { Name = "/_layouts/Script/mediaelement/mediaelementplayer.css", EnableCssTheming = true });
this.Controls.Add(new ScriptLink { Name = "/_layouts/Script/mediaelement/mediaelement-and-player.min.js", Language = "javascript", Localizable = false, LoadAfterUI = true });
this.Controls.Add(new ScriptLink { Name = "/_layouts/Script/video.js", Language = "javascript", Localizable = false, LoadAfterUI = true });
writer.Write("<video width='320' height='240' id='player1' >");
writer.Write(" <!-- Pseudo HTML5 -->");
writer.Write(" <source src='" + VideoPickerUrl + "' type='video/youtube' />");
writer.Write("</video>");
writer.Write("<span id='player1-mode'></span>");
$("video").mediaelementplayer({
enablePluginDebug: true,
pluginPath: '/_layouts/Script/mediaelement/',
flashName: 'flashmediaelement.swf',
success: function (media, node, player) {
$('#' + node.id + '-mode').html('mode: ' + media.pluginType);
},
error: function () {
$('#' + node.id + '-mode').html('Noe er feil!');
}
});
编辑:
this.Controls.Add(new CssRegistration() { Name = "/_layouts/Script/mediaelement/mediaelementplayer.css", EnableCssTheming = true });
this.Controls.Add(new ScriptLink { Name = "/_layouts/Script/mediaelement/mediaelement-and-player.min.js", Language = "javascript", Localizable = false, LoadAfterUI = true });
this.Controls.Add(new ScriptLink { Name = "/_layouts/Script/video.js", Language = "javascript", Localizable = false, LoadAfterUI = true });
writer.Write("<video width='320' height='240' id='player1' >");
writer.Write(" <!-- Pseudo HTML5 -->");
writer.Write(" <source src='" + VideoPickerUrl + "' type='video/youtube' />");
writer.Write("</video>");
writer.Write("<span id='player1-mode'></span>");
$("video").mediaelementplayer({
enablePluginDebug: true,
pluginPath: '/_layouts/Script/mediaelement/',
flashName: 'flashmediaelement.swf',
success: function (media, node, player) {
$('#' + node.id + '-mode').html('mode: ' + media.pluginType);
},
error: function () {
$('#' + node.id + '-mode').html('Noe er feil!');
}
});
在尝试NOT.min js文件时,我在第970行也遇到了错误。代码在if语句处停止:
for (i=0; i<mediaFiles.length; i++) {
// normal check
if (htmlMediaElement.canPlayType(mediaFiles[i].type).replace(/no/, '') !== ''
// special case for Mac/Safari 5.0.3 which answers '' to canPlayType('audio/mp3') but 'maybe' to canPlayType('audio/mpeg')
|| htmlMediaElement.canPlayType(mediaFiles[i].type.replace(/mp3/,'mpeg')).replace(/no/, '') !== '') {
result.method = 'native';
result.url = mediaFiles[i].url;
break;
}
}
for(i=0;i您是否收到与min.js版本相同的错误?诀窍是找出引发错误的是htmlMediaElement还是mediaFiles[i]。我会检查它们是否确实存在。逐步检查javascript。