WebViewer Version: ^10.0.1
Do you have an issue with a specific file(s)? /core/webviewer-core.min.js :: e.prototype.GW :: line 2926" data: no
Can you reproduce using one of our samples or online demos? no
Are you using the WebViewer server? No
Does the issue only happen on certain browsers? Yes, Firefox
Is your issue related to a front-end framework? Possibly, using React ^18.2.0
Is your issue related to annotations? No
Please give a brief summary of your issue:
function ApryseViewer(props) {
const {
file,
page,
className,
webViewerOptions = WEBVIEWER_OPTIONS.DEFAULT,
signedUrlGET,
} = props
const viewer = useRef(null);
const [presignedUrl, setPresignedUrl] = useState(null);
const { instance, setInstance } = useContext(WebViewerContext);
useEffect(() => {
const getPresignedUrl = async () => {
const url = await signedUrlGET(file.awsId);
setPresignedUrl(url);
};
getPresignedUrl();
}, [file.awsId, signedUrlGET]);
const loadVideoFile = useCallback(async (inst, url, f) => {
const { loadVideo } = await initializeVideoViewer(inst, { license: apryseLicenseKey });
loadVideo(url, { fileId: f.id });
}, []);
const loadAudioFile = useCallback(async (inst, url, f) => {
const { loadAudio } = await initializeAudioViewer(inst, {
license: apryseLicenseKey,
AudioComponent: Waveform,
});
loadAudio(url, { fileId: f.id });
}, []);
useEffect(() => {
if (!presignedUrl) return;
const isVideo = isVideoFile(file.name);
const isAudio = isAudioFile(file.name);
WebViewer({
path: '/',
licenseKey: apryseLicenseKey,
fullAPI: true,
...webViewerOptions,
...(isVideo || isAudio ? {} : {
initialDoc: presignedUrl,
extension: fileExtensionParser(file.name),
}),
}, viewer.current).then((inst) => {
setInstance(inst);
const docLoadedHandler = () => {
inst.Core.disableEmbeddedJavaScript();
if (isVideo) loadVideoFile(inst, presignedUrl, file);
if (isAudio) loadAudioFile(inst, presignedUrl, file);
};
inst.UI.addEventListener(inst.UI.Events.DOCUMENT_LOADED, docLoadedHandler);
return () => {
inst.UI.removeEventListener(inst.UI.Events.DOCUMENT_LOADED, docLoadedHandler);
if (inst && inst.dispose) {
inst.dispose();
}
};
});
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [presignedUrl, webViewerOptions, file, loadVideoFile, loadAudioFile]);
useEffect(() => {
if (!instance) return;
instance.UI.setCurrentPageNumber(page);
}, [page, instance]);
return (
<div className={className} ref={viewer}>
{!instance && <Spinner />}
</div>
);
}
Upon trying to initialize this component I receive the following error from the Firefox browser:
[Exception... "Component not initialized" nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)" location: "JS frame :: http://localhost:3000/core/webviewer-core.min.js :: e.prototype.GW :: line 2926" data: no]
This does NOT occur with the latest chrome web browser.
Please describe your issue and provide steps to reproduce it:
- Follow the react guide for initializing the Webviewer
- Attempt to manipulate ‘Core’ or ‘UI’ after the instance has been initialized and the documented is loaded
- Confirm error occurs on Firefox, but not Chrome