小仙麦麦 2023-01-05 10:10 采纳率: 40%
浏览 79

vuedraggable在safari兼容问题

在vue中使用vuedraggable插件,代码中只要
import draggable from "vuedraggable";
在safari浏览器中报错:TypeError: 'undefined' is not an object (evaluating 'setPublicPath_i.src.match')
大家有碰到这类问题吗

  • 写回答

1条回答 默认 最新

  • 黑猫几绛 2023-01-11 14:28
    关注

    这个错误是由于 vuedraggable 插件中使用了 SystemJS 的 setPublicPath 方法,而 Safari 浏览器不支持这个方法导致的。
    一个解决办法是禁用 setPublicPath 方法:

    import draggable from "vuedraggable";
    
    if (process.browser) {
      const setPublicPath = draggable.setPublicPath;
      draggable.setPublicPath = () => {};
    }
    
    

    另一种解决办法是在你的项目中引入这个包 systemjs ,在引入 draggable 的地方使用这个方式引入

    import draggable from "vuedraggable/dist/vuedraggable.common";
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月5日