ASP& Javascript:相对路径问题

时间:2012-12-06 15:28:11

标签: javascript asp.net relative-path jplayer

我对此有所了解。我正在与一个使用ASP的客户签订合同,我对它非常不熟悉。我正在使用一种名为jPlayer的视频功能。如果可以,jPlayer将使用HTML5视频,如果没有,它将回退到Flash插件。设置播放器对象时,将其指向Flash播放器所在的目录。

我的问题是,经过几个小时的圈子运行后,当页面保存为“.aspx”并具有ASPnet功能时,我似乎无法使用此路径。当我将它保存为“.html”时,它可以完美地工作。有没有人曾经遇到过这个问题?这是启动jPlayer的代码:

$(this).siblings('.jPlayer').jPlayer({
    swfPath: "scripts/jQuery.jPlayer.2.2.0/",
    solution: 'flash, html',
    supplied: 'm4v',
    cssSelectorAncestor: "#j_controls_"+cur_ctrl,
    ready: function () {
        $(this).jPlayer("setMedia", {
            m4v: file 
        });                 
        $(this).jPlayer("play");
    },
    wmode: "opaque"
})

2 个答案:

答案 0 :(得分:0)

你的所有标记都是纯HTML吗?或者你使用任何asp控件?如果你像那样使用控件,你应该警惕这样的标记指定的id在呈现之前被更改为服务器端。还要注意,您的页面可能包含一个主页面,其中包含各种其他标记和js。很难告诉你这些小信息有什么问题。

答案 1 :(得分:0)

将aspx文件视为服务器的指令,而不是客户端。没有直接1:1映射到最终将发送到客户端的内容。例如,/some/path/with/subdirectories/test.aspx处可访问的内容可能与<{1}}访问的完全相同的文档

当客户端收到下载/root/test.aspx的指令时,构建的HTTP请求将完全不同,具体取决于加载aspx的两个地址中的哪一个。

最可靠的方法是从应用程序根目录访问您的文件,即在路径中使用前导script/jPlayer.js

如果您无法通过单独查看路径来找出未加载脚本的原因,请使用浏览器检查工具查看它实际上尝试加载资源的路径以及您获取的位置404。

很可能你的jPlayer文件加载完全正常,但jPlayer脚本依次使用相对路径来加载另一个资源,这就是你得到404的地方。