Giter Site home page Giter Site logo

Comments (11)

warpdesign avatar warpdesign commented on June 2, 2024 1

@yikuansun I'm afraid there is nothing that can be done for YouTube embeds: the server's CORS rules are too strict and the crossorigin attribute doesn't exist for iframe element.

from apps.

warpdesign avatar warpdesign commented on June 2, 2024

Looking at the source code, it seems the problem is that each relative images found in readme are modified here:

apps/script/readmes.js

Lines 108 to 111 in 434b074

$relativeImages.each((i, img) => {
$(img).attr(
'src',
`${app.repository}/raw/${defaultBranch}/${$(img).attr('src')}`

Problem is that GitHub now uses CORS to prevent resources from being loaded from another domain, so links like this will be broken.

from apps.

warpdesign avatar warpdesign commented on June 2, 2024

Actually that's weird: links like this one generated by the readme.js script return a 302 which redirects to https://raw.githubusercontent.com/warpdesign/react-explorer/master/img/react-explorer-theme.png but for some odd reason, the redirect isn't done on electronjs.org. So images appear broken.

I tried to create a simple html file that embbeds the same img file in a personal web server and it works: https://warpdesign.fr/tests/gh/

Not sure why it doesn't work as expected on electronjs.org/apps.

from apps.

lexoyo avatar lexoyo commented on June 2, 2024

I believe it is because of the headers:

The resource at “https://github.com/warpdesign/react-explorer/raw/master/img/feature-darktheme.gif” was blocked due to its Cross-Origin-Resource-Policy header (or lack thereof). See https://developer.mozilla.org/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)#

Screenshot from 2022-03-24 09-58-10

from apps.

PaulKeefe avatar PaulKeefe commented on June 2, 2024

I'm seeing the same thing for all images in Edge.
Failed to load resource: net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep

from apps.

yikuansun avatar yikuansun commented on June 2, 2024

YouTube embeds are also broken, seemingly also due to CORS.

from apps.

yikuansun avatar yikuansun commented on June 2, 2024

I've got a solution for the image URL's that doesn't involve changing server configuration:

Loop through image elements in the README, fetch their URI's and return the data as Blob, then insert the Blob URI back into the image element.

Edit: this must be done by those who maintain electronjs.org

from apps.

warpdesign avatar warpdesign commented on June 2, 2024

I think I found a way to fix CORS errors without touching the server: #2000

from apps.

yikuansun avatar yikuansun commented on June 2, 2024

@warpdesign Cool! Do you know if the YouTube embeds can also be fixed in a similar way?

from apps.

warpdesign avatar warpdesign commented on June 2, 2024

@warpdesign Cool! Do you know if the YouTube embeds can also be fixed in a similar way?

I'm not sure. Could you give me a link to an app with such an embed in its description?

from apps.

yikuansun avatar yikuansun commented on June 2, 2024

@warpdesign Here's one: https://www.electronjs.org/apps/wayward

The embedded URL is https://www.youtube.com/embed/kc69XEXiPzE, a perfectly functional embed URL... but cross-origin headers block it.

from apps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.