recursal/MDN huggingface dataset:
XMLHttpRequest.setRequestHeader()
=================================

O método **`setRequestHeader()`** de `XMLHttpRequest` define o valor do cabeçalho de uma requisição HTTP. Ao usar `setRequestHeader()`, você deve chamá-lo depois de chamar o método `open()`, mas antes de chamar o método `send()`. Se esse método é chamado muitas vezes com o mesmo cabeçalho, os valores são somados em um único cabeçalho de requisição HTTP.

A cada vez que você chama `setRequestHeader()` depois de ter chamado-o pelo menos uma vez, o texto especificado é somado ao final do conteúdo do cabeçalho existente.

Se nenhum cabeçalho `Accept` foi definido usando este método, um cabeçalho `Accept` com o tipo `"*/*"` é enviado com a requisição quando `send()` é chamado.

Por razões de segurança, alguns cabeçalhos só podem ser controlados pelo agente do usuário. Esses cabeçalhos incluem o cabeçalho forbidden header names e o cabeçalho forbidden response header names.

**Nota:** **Observação:** Para seu campos personalizados, você pode encontrar uma exceção "**not allowed by Access-Control-Allow-Headers in preflight response**" quando você envia requisições através de domínios. Neste caso, você precisa definir o cabeçalho `Access-Control-Allow-Headers` no seu cabeçalho de resposta no lado do servidor.

Sintaxe
-------
```

XMLHttpRequest.setRequestHeader(header, value)
```

### Parâmetros

`header`

O nome do cabeçalho cujo valor está para ser definido.

`value`

O valor a ser definido como o corpo do cabeçalho.

### Valor de retorno

`undefined`.

Especificações
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # the-setrequestheader()-method |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Usando XMLHttpRequest
* HTML em XMLHttpRequest (en-US)
SharedWorker.port
=================

A propriedade **`port`** do `SharedWorker` (en-US) retorna um objeto `MessagePort` (en-US) usado para comunicar e controlar o shared worker.

Sintaxe
-------
```

myWorker.port;
```

### Valor

Um objeto `MessagePort` (en-US).

Exemplo
-------

O snippet de código a seguir mostra a criação de um objeto SharedWorker usando o construtor `SharedWorker ()` (en-US) . Vários scripts podem acessar o worker através de um objeto do tipo `MessagePort` (en-US) , usando a propriedade SharedWorker.port — A porta é iniciada usando o método `start()` .


```js
var myWorker = new SharedWorker("worker.js");
myWorker.port.start();
```


Veja um exemplo completo Basic shared worker example (run shared worker.)

Especificações
--------------

| Specification |
| --- |
| HTML Standard # dom-sharedworker-port-dev |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* The `SharedWorker` (en-US) interface it belongs to.
Geolocation.getCurrentPosition()
================================

O método **`Geolocation.getCurrentPosition()`** é utilizado para capturar a posição atual do dispositivo.

Sintaxe
-------
```

navigator.geolocation.getCurrentPosition(success, error, options)
```

### Parâmetros

*success*

Uma função de retorno que captura um objeto `Position` como seu parâmetro de entrada.

*error* Optional

Uma função de retorno opcional que captura um objeto `PositionError` como seu parâmetro de entrada.

*options* Optional

Um objeto opcional `PositionOptions`.

Exemplo
-------


```js
var options = {
  enableHighAccuracy: true,
  timeout: 5000,
  maximumAge: 0,
};

function success(pos) {
  var crd = pos.coords;

  console.log("Sua posição atual é:");
  console.log("Latitude : " + crd.latitude);
  console.log("Longitude: " + crd.longitude);
  console.log("Mais ou menos " + crd.accuracy + " metros.");
}

function error(err) {
  console.warn("ERROR(" + err.code + "): " + err.message);
}

navigator.geolocation.getCurrentPosition(success, error, options);
```

Especificações
--------------

| Specification |
| --- |
| Geolocation API # getcurrentposition-method |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Usando geolocalização (en-US)
* `Navigator.geolocation`
Geolocation.watchPosition()
===========================

O método **`Geolocation.watchPosition()`** é usado para registrar uma função manipuladora (handler function) que irá ser chamada automáticamente cada vez que a posição no dispositivo mudar. Você pode, opcionalemnte, especificar uma função de retorno que manipulará qualquer erro.

Este método retorna um valor para o *watch ID* que pode ser usado para desregistrar o manipulador passando isto para o método `Geolocation.clearWatch()`.

Síntaxe
-------


```js
watchPosition(success)
watchPosition(success, error)
watchPosition(success, error, options)
```

### Parâmetros

*success*

AUma função de retorno (callback) que pega um objeto `Position` como parametro de entrada.

*error* Optional

Uma função de retorno opcional que pega um objeto `PositionError` como parametro de entrada.

*options* Optional

Um objeto opcional `PositionOptions`.

Exemplo
-------


```js
var id, target, options;

function success(pos) {
  var crd = pos.coords;

  if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
    console.log("Parabéns, você alcançou o destino");
    navigator.geolocation.clearWatch(id);
  }
}

function error(err) {
  console.warn("ERRO(" + err.code + "): " + err.message);
}

target = {
  latitude: 0,
  longitude: 0,
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0,
};

id = navigator.geolocation.watchPosition(success, error, options);
```

Especificações
--------------

| Specification |
| --- |
| Geolocation API # watchposition-method |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Usando geolocalização (en-US)
* A interface que ele pertence, `Geolocation`, e como acessar `NavigatorGeolocation.geolocation` (en-US).
* A operação oposta: `Geolocation.clearWatch()`
* Um método similar: `Geolocation.getCurrentPosition()`
Geolocation.clearWatch()
========================

**Secure context:** This feature is available only in secure contexts (en-US) (HTTPS), in some or all supporting browsers.

O método **`Geolocation.clearWatch()`** é usado para cancelar o registro dos manipuladores de monitoramento de localização / erro instalados anteriormente usando `Geolocation.watchPosition()`.

Syntax
------
```

navigator.geolocation.clearWatch(id);
```

### Parameters

*id*

O número do ID retornado pelo método `Geolocation.watchPosition()` ao instalar o manipulador que você deseja remover.

Exemplo
-------


```js
var id, target, option;

function success(pos) {
  var crd = pos.coords;

  if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
    console.log("Congratulation, you reach the target");
    navigator.geolocation.clearWatch(id);
  }
}

function error(err) {
  console.warn("ERROR(" + err.code + "): " + err.message);
}

target = {
  latitude: 0,
  longitude: 0,
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0,
};

id = navigator.geolocation.watchPosition(success, error, options);
```

Especificações
--------------

| Specification |
| --- |
| Geolocation API # clearwatch-method |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja Também
-----------

* Usando geolocation (en-US)
* `Geolocation`
* `Geolocation.watchPosition()`
* `Geolocation.getCurrentPosition()`
EventTarget.removeEventListener()
=================================

Remove o event listener anteriormente registrado com `EventTarget.addEventListener()`.

Sintaxe
-------
```

target.removeEventListener(type, listener[, useCapture])
```


`type`

Uma string indicando o tipo de evento a ser removido.

`listener`

A função `EventListener` a ser removida do event target.

`useCapture` Optional

Indica quando o `EventListener` a ser removido foi registrado ou não como *capturing listener*. Caso este parâmetro seja omitido, o valor *false* será assumido por padrão.

Se um listener foi registrado duas vezes, uma com o parâmetro *capture* especificado e outra sem, cada um deve ser removido separadamente. A remoção de um *capturing listener* não afeta a versão *non-capturing* do mesmo listener, e vice versa.


**Nota:** `useCapture` era obrigatório em versões mais antigas dos navegadores. Para ampla compatibilidade, sempre informe o parâmetro `useCapture.`

Notas
-----

Se um `EventListener` é removido de um `EventTarget` enquanto ***este*** está processando um evento, esse não será disparado pelas *current actions*. Um `EventListener` não será invocado para o evento o qual foi registrado depois de ter sido removido, porém pode ser registrado novamente.

Chamar `removeEventListener()` com argumentos que não identifiquem nenhum `EventListener` registrado no `EventTarget` não tem qualquer efeito.

Exemplo
-------

Este é um exemplo de como associar e remover um event listener.


```js
var div = document.getElementById("div");
var listener = function (event) {
  /\* faça alguma coisa... \*/
};
div.addEventListener("click", listener, false);
div.removeEventListener("click", listener, false);
```

Especificações
--------------

| Specification |
| --- |
| DOM Standard # ref-for-dom-eventtarget-removeeventlistener② |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

`EventTarget.addEventListener()`.
EventTarget()
=============

O construtor **`EventTarget()`** cria uma nova instância do objeto `EventTarget`.

Sintaxe
-------
```

var myEventTarget = new EventTarget();
```

### Parâmetros

Nenhum.

### Retorno de valor

Uma instância do objeto `EventTarget`.

Exemplos
--------


```js
class MyEventTarget extends EventTarget {
  constructor(mySecret) {
    super();
    this._secret = mySecret;
  }

  get secret() {
    return this._secret;
  }
}

let myEventTarget = new MyEventTarget(5);
let value = myEventTarget.secret; // == 5
myEventTarget.addEventListener("foo", function (e) {
  this._secret = e.detail;
});

let event = new CustomEvent("foo", { detail: 7 });
myEventTarget.dispatchEvent(event);
let newValue = myEventTarget.secret; // == 7
```

Especificações
--------------

| Specification |
| --- |
| DOM Standard # ref-for-dom-eventtarget-eventtarget① |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `EventTarget`
EventTarget.dispatchEvent()
===========================

Dispara um `Event` para o `EventTarget` especificado, invocando os `EventListener`s especificados, em uma ordem apropriada. O processamento normal das regras (incluindo a captura e a fase opcional de bubbling) aplica-se a eventos disparados manualmente com `dispatchEvent()`.

Sintaxe
-------
```

cancelled = !target.dispatchEvent(event)
```


* `event` é o objeto `Event` a ser disparado.
* `target` é utilizado para inicializar o `Event.target` e determinar quais event listeners serão invocados.
* O valor retornado é `false` se ao menos um dos event handlers o qual manipulou o evento chamou `Event.preventDefault()`. De outro modo, isto retorna `true`.

O método `dispatchEvent joga` `UNSPECIFIED_EVENT_TYPE_ERR` se o tipo do evento não foi especificado pela inicialização do evento antes do método ser chamado, ou se o tipo do evento for is `null` ou uma string vazia. Exceções jogadas por event handlers são reportadas como exceções não-capturáveis; os event handlers são executados em uma callstack aninhada; eles bloqueiam o chamador até que a rotina tenha sido totalmente executada, mas as execeções não se propagam para o chamador.

Notas
-----

`dispatchEvent` é a última fase do processo create-init-dispatch, a qual é usada para disparar eventos na implementação do event model. O evento pode ser criado utilizando o método document.createEvent (en-US) e pode ser inicializado com initEvent (en-US) ou outro método de inicialização mais específico, como initMouseEvent (en-US) ou initUIEvent (en-US).

Veja também a referência Event object (en-US).

Exemplo
-------

Veja Creating and triggering events (en-US).

Especificações
--------------

* DOM Level 2 Events: dispatchEvent
HTMLInputElement.setSelectionRange()
====================================

O método\*\*`HTMLInputElement.setSelectionRange()`\*\* define as posições inicial e final da seleção atual do texto em um elemento `<input>`.

Opcionalmente, em navegadores mais novos, você pode especificar a direção na qual a seleção deve ser feita; isso permite a você indicar, por exemplo, que a seleção foi feita como se o usuário tivesse clicado no fim do texto selecionado e arrastado em direção ao início.

Esse método atualiza ao mesmo tempo `HTMLInputElement.selectionStart`, `selectionEnd`, and `selectionDirection`.

Syntax
------
```

inputElement.setSelectionRange(selectionStart, selectionEnd, [optional] selectionDirection);
```

### Parameters

*selectionStart*

The 0-based index of the first selected character.

*selectionEnd*

The 0-based index of the character *after* the last selected character.

*selectionDirection* Optional

A string indicating the direction in which the selection is performed. This string can be "forward" or "backward", or "none" if the direction is unknown or irrelevant.

Example
-------

The following code:


```html
<!doctype html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>JS Bin</title>
    <script>
 function SelectText() {
 var input = document.getElementById("mytextbox");
 input.focus();
 input.setSelectionRange(2, 5);
 }
 </script>
  </head>
  <body>
    <p><input type="text" id="mytextbox" size="20" value="Mozilla" /></p>
    <p><button onclick="SelectText()">Select text</button></p>
  </body>
</html>
```


will produce the following:

![example.png](/pt-BR/docs/Web/API/HTMLInputElement/setSelectionRange/example.png)

Especificações
--------------

| Specification |
| --- |
| HTML Standard # dom-textarea/input-setselectionrange-dev |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `<input>`
* `HTMLInputElement`
* `Selection`
HTMLInputElement.select()
=========================

O método **`HTMLInputElement.select()`** seleciona todo o texto em um elemento `<textarea>` ou em um elemento `<input>` do tipo *text*.

Sintaxe
-------
```

element.select()
```

Especificações
--------------

| Specification |
| --- |
| HTML Standard # dom-textarea/input-select |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Notas
-----

Executar `element.select()` não irá necessariamente focar o *input*, por isso é frequentemente usado em conjunto com `HTMLElement.focus()` (en-US).

Veja também
-----------

* `<input>`
* `<textarea>`
* `HTMLInputElement`
* `HTMLInputElement.setSelectionRange`
BatteryManager.ondischargingtimechange
======================================

Especifica um *event listener* para receber eventos `dischargingtimechange`. Esses eventos ocorrem quando a propriedade `dischargingTime` (tempo de descarregamento) da bateria é atualizada.

Sintaxe
-------
```

navigator.battery.ondischargingtimechange = funcRef
```


Onde `funcRef` é uma função para ser chamada quando o evento `dischargingtimechange` ocorre.

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `Navigator.battery`
BatteryManager.onlevelchange
============================

Especifica um *event listener* para receber eventos `levelchange`. Esses eventos ocorrem quando o `level` (nível) da bateria é atualizado.

Sintaxe
-------
```

navigator.battery.onlevelchange = funcRef
```


Onde `funcRef` é uma função para ser chamada quando o evento `levelchange` ocorre.

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `Navigator.battery`
BatteryManager.chargingTime
===========================

Indica a quantidade de tempo, em segundos, que resta até que a bateria esteja totalmente carregada.

Sintaxe
-------
```

var time = navigator.battery.chargingTime
```


No retorno, `time` é o tempo restante em segundos até que a bateria esteja totalmente carregada, ou 0 se a bateria já estiver com sua carga completa. Se a bateria estiver descarregando (ou se o sistema não é capaz de derminar o tempo restante para o carregamento), este valor é `Infinity` (en-US).

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `Navigator.battery`
BatteryManager.dischargingTime
==============================

Indica a quantidade de tempo, em segundos, que restam até a bateria estar totalmente descarregada.

Sintaxe
-------
```

var time = navigator.battery.dischargingTime
```


No retorno, `time` é o tempo restante em segundos até que a bateria esteja totamente descarregada e o sistema suspenda. Este valor é `Infinity` (en-US) se a bateria estiver carregando, ao invés de descarregando, ou se o sistema não for capaz de determinar o tempo restante de carregamento (ou ainda se não existir uma bateria disponível).

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `Navigator.battery`
BatteryManager.level
====================

Indica o nível de carga atual da bateria como um valor entre `0.0` e `1.0`.

Sintaxe
-------
```

var level = navigator.battery.level
```


No retorno, `level` é um número representando o nível de carga da bateria do sistema em uma escala de valores entre 0.0 e 1.0. Um valor de 0.0 significa que a bateria está vazia e o sistema está prestes a ser suspenso. Um valor de 1.0 significa que a bateria está cheia. Um valor de 1.0 é também retornado se a implementação não é capaz de determinar o nível de carga ou se o sistema não é alimentado por bateria.

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `navigator.battery`
BatteryManager.onchargingchange
===============================

Especifica um *event listener* para receber eventos `chargingchange`. Esses eventos ocorrem quando o estado `charging` (carregando) da bateria é atualizado.

Sintaxe
-------
```

navigator.battery.onchargingchange = funcRef
```


Onde `funcRef` é uma função para ser chamada quando o evento `chargingchange` ocorre.

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `Navigator.battery`
BatteryManager.onchargingtimechange
===================================

Especifica um *event listener* para receber eventos `chargingtimechange`. Esses eventos ocorrem quando a propriedade `chargingTime` (tempo de carregamento) da bateria é atualizada.

Sintaxe
-------
```

navigator.battery.onchargingtimechange = funcRef
```


Onde `funcRef` é uma função para ser chamada quando o evento `chargingtimechange` ocorre.

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `Navigator.battery`
BatteryManager.charging
=======================

Um valor Booleano que indica se a bateria está sendo ou não carregada no momento.

Sintaxe
-------
```

var charging = navigator.battery.charging
```


No retorno, `charging` indica se a bateria está sendo carregada no momento; se a bateria está carregando (ou se não há bateria), este valor é `true`. Caso contrário, o valor é `false`.

Especificações
--------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Specifications")}}Compatibilidade com navegadores
-------------------------------

{{page("/pt-BR/docs/Web/API/BatteryManager","Browser\_compatibility")}}Veja também
-----------

* `BatteryManager`
* `Navigator.battery`
Animation.currentTime
=====================

Baseline 2022
-------------

Newly availableSince September 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
**Experimental:** **Esta é uma tecnologia experimental (en-US)**  
Verifique a tabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produção.

A propriedade **`Animation.currentTime`** da Web Animations API (en-US) retorna e altera o tempo atual da animação em milésimos de segundos, seja estando em execução ou pausada.

Se a animação não tem uma `timeline` (en-US), está inativa, ou ainda não foi colocada em execução, o valor de retorno do `currentTime` será `null`.

Sintaxe
-------
```

vartempoAtual = Animation.currentTime;
Animation.currentTime = novoTempo;
```

### Valor

Um número que representará no tempo atual da animação em milésimos de segundos, ou `null` para desativar a animação.

Examples
--------

No jogo Drink Me/Eat Me, O tamanho da Alice é animado e pode crescer ou diminuir. No início do jogo, o tamanho dela foi colocado entre os dois extremos do animation's `currentTime` no meio do `KeyframeEffect`'s duration (en-US), desta maneira:


```js
aliceChange.currentTime = aliceChange.effect.timing.duration / 2;
```


Outra forma mais genérica para encontrar o marco de 50% da animação pode ser feito da seguinte forma:


```js
animation.currentTime =
  animation.effect.getComputedTiming().delay +
  animation.effect.getComputedTiming().activeDuration / 2;
```

Especificações
--------------

| Specification |
| --- |
| Web Animations # dom-animation-currenttime |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `Animation` para outros métodos e propriedades que você pode usar para controlar a animação da página web.
* `Animation.startTime` (en-US) para o tempo que a animação está programada começar.
* Web Animations API (en-US)