PHP前端开发

如何在HTML中允许跨域使用图像和画布?

百变鹏仔 3个月前 (09-22) #HTML
文章标签 画布

为了允许跨域使用图像和画布,服务器必须在其HTTP响应中包含适当的CORS(跨域资源共享)头。这些头可以设置为允许特定的来源或方法,或者允许任何来源访问资源。

HTML Canvas

An HTML5 Canvas is a rectangular area on a web page that is controlled by JavaScript code. Anything can be drawn on the canvas, including images, shapes, text, and animations. The canvas is a great tool for creating games, graphics, and web applications.

方法

允许跨域使用图像和画布的方法是将以下内容添加到标头中−

Access-Control-Allow-Origin − *

的中文翻译为:

访问控制允许来源 − *

这将允许所有的图像和画布元素在跨源时使用。

立即学习“前端免费学习笔记(深入)”;

Example

的中文翻译为:

示例

下面是一个完整的工作示例,演示如何允许跨域使用图像和画布。要运行它,只需在Web浏览器中打开HTML文件。

<!DOCTYPE html><html><head>   <script>      function allowCrossOrigin(img, url) {         if (url.indexOf('https://') !== 0 && url.indexOf('http://') !== 0) {            // only allow cross-origin requests for images that are hosted on a secure                        // (HTTPS/HTTP) server            return;         }           // create a new Image object and set its src property to the url of the image                  // that we want to load         var image = new Image();         image.src = url;                  // when the image has loaded, set the src property of the img element to the                  // url of the image         image.onload = function() {            img.src = url;         };      }   </script></head>   <body>      <!-- define an img element and set its src property to a local image -->      <img  id='local-image' src='https://cdn.pixabay.com/photo/2012/08/27/14/19/mountains-55067__340.png'    style="max-width:90%"  style="max-width:90%" alt="如何在HTML中允许跨域使用图像和画布?" >      <!-- define another img element and try to set its src property to      an image that is hosted on a different domain -->      <img  id='remote-image'    style="max-width:90%"  style="max-width:90%" alt="如何在HTML中允许跨域使用图像和画布?" >      <script>         // get a reference to the img element with id="remote-image"         var remoteImage = document.getElementById('remote-image');                  // set the src property of the img element to the url of the image that we want         // to load         remoteImage.src = 'https://i.natgeofe.com/n/2a832501-483e-422f-985c-0e93757b7d84/6_square.jpg';                  // call the allowCrossOrigin function, passing in the img element and the url         // of the image that we want to load         allowCrossOrigin(remoteImage, 'https://i.natgeofe.com/n/2a832501-483e-422f-985c-0e93757b7d84/6_square.jpg');      </script>   </body></html>