“此图片来自微信公众平台 未经允许不可引用“ 解决办法
生活随笔
收集整理的這篇文章主要介紹了
“此图片来自微信公众平台 未经允许不可引用“ 解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、
在html里加
<meta name="referrer" content="no-referrer" />是個辦法 但是我們業務需要使用referer 所以我這里不能加。
二、
<div class="iframeLogo" v-if="logoFileSrc && logoFileSrc.includes('mmbiz_')" v-html="ImgFun(logoFileSrc, 'logo')"></div> <img class="info_logo" v-else :src="logoFileSrc"> ImgFun (url, type) {let stylesif (type === 'logo') {styles = 'width:58px;height:58px;position:absolute;top:0;left:0;'} else if (type === 'bg') {styles = 'width:300px;height:200px;position:absolute;top:0;left:0'}var randomId = 'img' + urlwindow[`img${url}`] = '<img id="img" style=\'' + styles + '\' src=\'' + url + '?' + 'img' + '\'/><script>window.onload = function() { parent.document.getElementById(\'' + randomId + '\').height = 100+\'%\'; } <' + '/script>'var iframeStr = `<iframe id=${randomId} src="javascript:parent['img${url}']" frameBorder="0" scrolling="no" width="100%" ></iframe>`return iframeStr},背景圖:
<div class="iframeBG" v-if="bgFileSrc && bgFileSrc.includes('mmbiz_')" v-html="ImgFun(bgFileSrc, 'bg')"></div> .iframeBG {width: 285px;height: 198px;position: absolute;border-radius: 5px;overflow: hidden;}注意: 當一個頁面里出現兩張相同路徑的圖片時,會出現樣式錯亂問題,如下圖。
但是兩張不同的圖片就不會有問題
分析iframe的代碼得知,問題出在這行代碼上 window[img${url}] randomId
iframe嵌入的時候根據src="javascript:parent['img${url}']" randomId來決定嵌入的元素以及樣式。
當兩張圖片一樣時, 圖片的url也是一模一樣的。 雖然調用ImgFun方法的時候,進type的判斷了。 但是由于id是相同的,在iframe進行渲染的時候,后面的樣式代碼會把前面的進行覆蓋,所以會出現上面的問題。
解決辦法: 既然是 “不唯一” 造成的問題,可以把id和img加參數 作為唯一標識。 ImgFun (url, type) {let styleslet imgif (type === 'logo') {img = 'imgLogo'styles = 'width:58px;height:58px;position:absolute;top:0;left:0;'} else if (type === 'bg') {img = 'imgBg'styles = 'width:300px;height:200px;position:absolute;top:0;left:0;'}var randomId = img + urlwindow[`${img}${url}`] = '<img id="img" style=\'' + styles + '\' src=\'' + url + '?' + 'img' + '\'/><script>window.onload = function() { parent.document.getElementById(\'' + randomId + '\').height = 100+\'%\'; } <' + '/script>'var iframeStr = `<iframe id=${randomId} src="javascript:parent['${img}${url}']" frameBorder="0" scrolling="no" width="100%" height="100%"></iframe>`return iframeStr},
可以看出 id唯一。 問題解決~
總結
以上是生活随笔為你收集整理的“此图片来自微信公众平台 未经允许不可引用“ 解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cf高跳怎么跳 穿越火线高清竞技大区
- 下一篇: 小小梦魇抱妙脆角有什么用