如何单独嵌入文件?

时间:2015-07-21 13:34:25

标签: javascript jquery

我必须打开2种不同的文件格式 - PDF和M4V。如果文件是PDF,我想使用嵌入标签,如果它是M4V,我想使用视频标签。

以下代码是我正在使用的代码,但它只显示其中一个文件(取决于代码)。有谁知道如何解决这个问题?

$('div.player-container object').attr('data', htmlPageBrowserUri);
$('div.player-container object param').attr('value', htmlPageBrowserUri);
$('div.player-container object video' || 'div.player-container object embed').remove();
$('div.player-container object').append(
'<video src="' + htmlPageBrowserUri + '" width="100%" height="600"/>' || 
'<embed src="' + htmlPageBrowserUri + '" width="100%" height="600"/>'
);

3 个答案:

答案 0 :(得分:1)

如果URL中存在类型,您可以检查类型

喜欢&#39; http://yourdomain/filename.pdf&#39;或者&#39; http://yourdomain/?f=filename.pdf&#39; 或类似的东西,文件类型出现在网址的末尾

 Type=htmlPageBrowserUri.split('.').pop().toLowerCase();
 if(Type == 'pdf'){
 //pdf code
 }else if(Type == 'm4v'){
 // m4v code
 }

答案 1 :(得分:1)

您可以检查文件的扩展程序:

$('div.player-container object').attr('data', htmlPageBrowserUri);
$('div.player-container object param').attr('value', htmlPageBrowserUri);
$('div.player-container object video' || 'div.player-container object embed').remove();
var elementToAppend;
switch (htmlPageBrowserUri.split('.').pop().toLowerCase()) {
    case "pdf":
        elementToAppend = "embed";
        break;
    case "m4v":
        elementToAppend = "video";
        break;
}
if (typeof elementToAppend !== 'undefined') {
    $('div.player-container object').append('<' + elementToAppend + ' src="' + htmlPageBrowserUri + '" width="100%" height="600"/>');
}

答案 2 :(得分:0)

我不认为在jquery选择器中使用first-time-install确实有效。以下是使用多个选择器的方法:https://api.jquery.com/multiple-selector/

在您的代码中尝试以下修改。

||

此外,当您将多个类分配给一个div时,您必须为每个div插入一个标识符。所以在jQuery中它就像$('div.player-container.object').attr('data', htmlPageBrowserUri); $('div.player-container.object.param').attr('value', htmlPageBrowserUri); $('div.player-container.object.video, div.player-container.object.embed').remove(); $('div.player-container.object').append( '<video src="' + htmlPageBrowserUri + '" width="100%" height="600"/><embed src="' + htmlPageBrowserUri + '" width="100%" height="600"/>' ); 而不是$('div.player-container.object.param')(我可能不太擅长解释这个,所以请看下面的链接)

在此处了解有关选择器的更多信息http://www.w3schools.com/cssref/css_selectors.asp