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 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭