Javascript iframe中的Pdf blob url不会加载到手机和平板电脑上,但在所有主要的桌面浏览器上都可以正常工作

Javascript iframe中的Pdf blob url不会加载到手机和平板电脑上,但在所有主要的桌面浏览器上都可以正常工作,javascript,html,reactjs,pdf,iframe,Javascript,Html,Reactjs,Pdf,Iframe,所以我有一个pdf的url,我必须在我的React应用程序的UI中显示它 pdf url看起来像这样 constpdfurl=`${config.apirl}/v1/resumes/${profile.key}/pdf` 在iframe上设置src等于此url时,控制台中会抛出x-frame-options错误,并且未加载pdf 因此,我必须通过进行api调用并从中创建对象URL来获取pdf文件 const fetchPdfContent = async () => { const

所以我有一个pdf的url,我必须在我的React应用程序的UI中显示它

pdf url看起来像这样

constpdfurl=`${config.apirl}/v1/resumes/${profile.key}/pdf`

在iframe上设置
src
等于此url时,控制台中会抛出
x-frame-options
错误,并且未加载pdf

因此,我必须通过进行api调用并从中创建对象URL来获取pdf文件

const fetchPdfContent = async () => {
    const state = getState();
    try {
      setIsLoading(true);
      const response = await fetch(pdfURL, {
        method: 'GET',
        headers: {
          // ... pass access token here
        },
      });
      const blob = await response.blob();
      const src = URL.createObjectURL(new Blob([blob], { type: 'application/pdf' }));
      setPdfContent(src);
    } catch (error) {
      // show notification with error message
    } finally {
      setIsLoading(false);
    }
  };
然后在iframe的src中设置
pdfContent

  <iframe
    title={caption}
    src={`${pdfContent}#toolbar=0`}
  />

在所有主要的桌面浏览器上都可以使用这种方法 这就是它在桌面浏览器UI上的外观

但手机和平板电脑上的任何浏览器都不会加载相同的pdf blob url,并且控制台中没有错误

我一直在互联网上寻找解决方案,但找不到。我发现了相似的,但没有用

由于后端的一些限制,我无法使用任何自定义包来呈现PDF,因此只能使用iframe

任何帮助都将不胜感激