如何使用 iframe 引入短链并展示对应内容?
如何在 iframe 中引入短链并展示对应内容?
使用 iframe 来嵌入其他页面时,若遇到的页面地址是短链接,iframe 会因无法自动重定向而无法展示。以下两种方式可以解决这个问题:
方法一:获取长链后赋值
- 在父页面中,使用 JavaScript 请求短链接的实际 URL。
- 获得长链后,将它赋值给 iframe 的 src 属性。
const shortUrl = 'http://shorturl.com/abcd'; // 获取长链 fetch(shortUrl) .then((res) => res.url) .then((longUrl) => { // 赋值给 iframe 的 src const iframe = document.querySelector('iframe'); iframe.src = longUrl; });
方法二:自定义拦截
如果无法获取或修改短链接,可以自定义一个拦截器来对 iframe 的请求进行修改。
- 重写浏览器的 fetch 函数。
- 在拦截器中,检查请求的 URL 是否是短链接。
- 如果是,则将其重定向到相应的长链。
// 拦截 fetch 请求 const originalFetch = window.fetch; window.fetch = (url, ...args) => { // 检查是否为短链接 if (isShortLink(url)) { // 获取长链接 return fetch(getLongLink(url), ...args); } // 其他请求照常处理 return originalFetch(url, ...args); };
通过这两种方式,可以实现 iframe 引入短链并正确展示相应内容。
以上就是如何使用 iframe 引入短链并展示对应内容?的详细内容,更多请关注其它相关文章!