Я хочу встроить панель управления Grafana через ifram (см.: https://grafana.com/docs/grafana/latest ... mbed-panel):
Мне нужно изменить пользовательский агент для этого iframe, потому что это необходимо в нашей среде как форма проверки/безопасности. Я попробовал все, что смог найти:
useEffect(() => {
const iframe = document.querySelector('iframe');
const window = iframe.contentWindow;
const navi = window.navigator;
// these didn't seem to work
Object.defineProperty(navi, 'user-agent', {value: 'someUserAgentString', writable: true})
Object.defineProperty(navi, 'userAgent', {value: 'someUserAgentString', writable: true})
//also didn't seem to work
async function getSrc() {
const res = await fetch(grafanaUrl, {
method: 'GET',
headers: {
'User-Agent' : 'someUserAgentString',
writable: 'true'
}
});
const blob = await res.blob();
const urlObject = URL.createObjectURL(blob);
document.querySelector('iframe').setAttribute("src", urlObject)
}
getSrc();
}, []);
Подробнее здесь: https://stackoverflow.com/questions/793 ... board-in-r