--- title: Uso de busca Cross-global slug: Web/API/Fetch_API/Cross-global_fetch_usage translation_of: Web/API/Fetch_API/Cross-global_fetch_usage original_slug: Web/API/Fetch_API/Uso_de_busca_Cross-global ---
Este artigo explica um "edge case" (um problema ou situação que ocorre apenas em um parâmetro operacional extremo) que ocorre ao utilizar fetch (e potencialmente outras APIs que exibem o mesmo tipo de comportamento de recuperação de recurso). Quando uma busca de cross-origin envolvendo uma URL relativa é iniciada a partir de um {{htmlelement ("iframe")}}, a URL relativa costumava ser resolvida na localização global atual, em vez da localização do iframe.
Muitos sites nunca se deparam com este caso extremo. Para que isso aconteça:
No passado, resolveríamos o URL relativo contra o global atual, por exemplo:
let absolute = new URL(relative, window.location.href)
Isto não é um problema como tal. É que diferentes APIs que exibem esse tipo de comportamento estavam fazendo isso de maneira inconsistente com o comportamento definido na especificação, o que poderia levar a problemas mais adiante.
No Firefox 60 em diante, o Mozilla resolve a URL relativa contra o global que possui a função fetch()
que está sendo usada (veja {{bug (1432272)}}). Portanto, no caso descrito acima, ele é resolvido em relação à localização do iframe:
let absolute = new URL(relative, frame.contentWindow.location.href)
Há muita discussão em andamento sobre a obtenção de novas especificações para se alinhar a essa mudança de comportamento, a fim de mitigar possíveis problemas no futuro.