s2dth 2022-03-26 22:30 采纳率: 100%
浏览 123
已结题

js给src赋值无效果

html代码:
<source id="sp" src="" type="video/mp4">
手动输入路径能正常播放,但是浏览器播放时会自动对路径中的中文文件名进行编码,所以希望js能提供一个编码后的路径

js代码:var url = encodeURI("@Html.DisplayFor(model => model.path)")//将文件路径编码
console.log(url)
控制台打印出来的路径也是对的

但是后面用两种方法试图给src赋值都无效
方法1: $("#sp").attr("src", url);
方法2:document.getElementById("sp").setAttribute("src", url);

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-03-26 22:53
    关注

    asp.net mvc?@Html.DisplayFor会进行html编码防止xss攻击,用@Html.Raw(Model.Path)输出原始内容

    不过看题主说的url正常视乎和这个没关系,是不是执行赋值的js代码放在source标签前面了导致source未生成无法正确设置,要将js代码放到source对象下或者放到domready事件中执行,如下

    
    <script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script>
    <script>
        $(function () {//放dom对象前要放domready事件中执行
            $("#sp").attr("src", url);
        });
    </script>
    <video controls><source id="sp" src="" type="video/mp4"></video>
    <script>
        var url = 'https://onlinetravelmarket.net/upload/video/20210610/are-you-ready-2792369.mp4'
        document.getElementById("sp").setAttribute("src", url);
    </script>
    

    干嘛不支持设置src属性,用js来设置?

    
    <video controls><source id="sp" src="@Html.DisplayFor(model => model.path)" type="video/mp4"></video>
    
    

    img


    有其他问题可以继续交流~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 创建了问题 3月26日

悬赏问题

  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持