Crossorigin errors when loading VTT file

前端 未结 7 1421
我寻月下人不归
我寻月下人不归 2021-02-20 05:48

I\'m new to using the audio tag in HTML 5 and wanted to build a player. I wanted to test using a VTT file in a track tag to see how closed captioning could work.

Here is

7条回答
  •  感情败类
    2021-02-20 06:10

    This is an old post, but the first I hit when Googling for Text track from origin 'SITE_HOSTING_TEXT_TRACK' has been blocked from loading: Not at same origin as the document, and parent of track element does not have a 'crossorigin' attribute. Origin 'SITE_HOSTING_PAGE' is therefore not allowed access.

    The OP seems to be having this issue locally and he could fix that by disabling Chrome's web security as shown above. But users will more often see this when accessing their text tracks from a different domain. To fix it in a production environment for all users, you need to do two things:

    1. Add the right CORS headers to the site hosting the VTT file.
    2. Add the crossorigin="anonymous" attribute to your site's audio/video element.

    If you do not have access to the site hosting the video file, you might be stuck. But if you do, you should add the header Access-Control-Allow-Origin:'*'. I'm handling it on a Node/Express server like this:

       var app = express()
        app.use(function (req, res, next) {
          res.header('Access-Control-Allow-Origin', '*')
          res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
          next()
        })
    

    The audio/video element is an easier fix. In your site's HTML page, add the following attribute.

    
    

    I hope this answer helps someone... it was an annoying issue to troubleshoot.

提交回复
热议问题