Explore os Métodos da Browser Object Model (BOM) em JavaScript

JavaScriptBeginner
Pratique Agora

Introdução

Neste laboratório, os participantes explorarão os métodos da Browser Object Model (BOM) em JavaScript, criando um projeto de demonstração abrangente. O laboratório guia os alunos através da configuração de um ambiente básico de HTML e JavaScript e, em seguida, introduz sistematicamente os principais métodos de interação com a BOM, como alert(), prompt(), confirm() e técnicas de manipulação de janelas.

Os participantes construirão progressivamente um projeto prático que demonstra diferentes métodos de interação com o navegador, começando com a criação de uma estrutura de projeto, a implementação de diálogos de notificação ao usuário e a experimentação com funções de controle de janelas. Ao seguir as instruções passo a passo, os alunos obterão experiência prática no uso dos métodos relacionados ao navegador do JavaScript para criar experiências web interativas e entender como se comunicar com os usuários através de vários tipos de diálogos e técnicas de gerenciamento de janelas.

Configurar o Projeto HTML para Demonstração da BOM

Nesta etapa, você configurará um projeto HTML básico para demonstrar os métodos da Browser Object Model (BOM) em JavaScript. Criaremos uma estrutura de projeto simples que servirá como base para explorar várias interações com a BOM.

Primeiro, navegue até o diretório do projeto:

cd ~/project

Crie um novo diretório para o projeto de demonstração da BOM:

mkdir bom-demo
cd bom-demo

Agora, use a WebIDE para criar um arquivo index.html com uma estrutura HTML básica:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>BOM Methods Demonstration</title>
  </head>
  <body>
    <h1>Browser Object Model (BOM) Methods</h1>
    <div id="output"></div>

    <script src="bom-methods.js"></script>
  </body>
</html>

Crie um arquivo JavaScript correspondente, bom-methods.js, no mesmo diretório:

// This file will contain our BOM method demonstrations
console.log("BOM Methods Project Initialized");

Verifique se os arquivos foram criados corretamente:

ls

Exemplo de saída:

index.html
bom-methods.js

Abra o arquivo index.html em um navegador web para garantir que tudo esteja configurado corretamente. Você deve ver o título da página e ser capaz de abrir o console do desenvolvedor do navegador para visualizar a mensagem de log inicial.

Esta estrutura de projeto fornece um ambiente limpo e simples para explorar e demonstrar vários métodos da Browser Object Model (BOM) nas próximas etapas do laboratório.

Implementar o Método Alert para Notificação Básica ao Usuário

Nesta etapa, você aprenderá sobre o método window.alert(), que é um método fundamental da Browser Object Model (BOM) para exibir mensagens de notificação simples aos usuários. O método alert cria um diálogo pop-up que pausa a execução do script e requer o reconhecimento do usuário.

Navegue até o diretório do projeto:

cd ~/project/bom-demo

Abra o arquivo bom-methods.js na WebIDE e adicione o seguinte código JavaScript:

// Demonstrate window.alert() method
function showBasicAlert() {
  window.alert("Welcome to BOM Methods Demonstration!");
}

// Create a button to trigger the alert
function createAlertButton() {
  const button = document.createElement("button");
  button.textContent = "Show Alert";
  button.onclick = showBasicAlert;
  document.body.appendChild(button);
}

// Call the function to add button when page loads
createAlertButton();

Modifique o arquivo index.html para garantir que o JavaScript esteja devidamente vinculado:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>BOM Methods Demonstration</title>
  </head>
  <body>
    <h1>Browser Object Model (BOM) Methods</h1>
    <div id="output"></div>

    <script src="bom-methods.js"></script>
  </body>
</html>

Ao abrir o arquivo index.html em um navegador web, você verá um botão "Show Alert". Clicar neste botão acionará um diálogo de alerta pop-up com a mensagem "Welcome to BOM Methods Demonstration!".

Pontos-chave sobre window.alert():

  • É um método do objeto window
  • Cria um diálogo de bloqueio que pausa a execução do script
  • Requer que o usuário clique em "OK" para continuar
  • Normalmente usado para notificações simples ou depuração (debugging)

Exemplo de aparência do diálogo de alerta:

[Alert Dialog]
Welcome to BOM Methods Demonstration!
                [OK]

Nesta etapa, você explorará o método window.prompt(), que permite a entrada interativa do usuário por meio de uma caixa de diálogo. Este método da BOM permite que você colete entrada de texto simples dos usuários diretamente no navegador.

Navegue até o diretório do projeto:

cd ~/project/bom-demo

Abra o arquivo bom-methods.js na WebIDE e adicione o seguinte código JavaScript:

// Demonstrate window.prompt() method
function showPromptDialog() {
  // Prompt user for their name with a default value
  let userName = window.prompt("What is your name?", "Guest");

  // Check if user entered a name
  if (userName !== null && userName !== "") {
    const outputDiv = document.getElementById("output");
    outputDiv.textContent = `Hello, ${userName}! Welcome to BOM Methods.`;
  } else {
    const outputDiv = document.getElementById("output");
    outputDiv.textContent = "No name entered.";
  }
}

// Create a button to trigger the prompt
function createPromptButton() {
  const button = document.createElement("button");
  button.textContent = "Enter Name";
  button.onclick = showPromptDialog;
  document.body.appendChild(button);
}

// Call the function to add button when page loads
createPromptButton();

Atualize o arquivo index.html para incluir uma div de saída:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>BOM Methods Demonstration</title>
  </head>
  <body>
    <h1>Browser Object Model (BOM) Methods</h1>
    <div id="output"></div>

    <script src="bom-methods.js"></script>
  </body>
</html>

Pontos-chave sobre window.prompt():

  • Retorna o texto inserido pelo usuário
  • Permite um valor padrão opcional
  • Retorna null se o usuário cancelar o prompt
  • Bloqueia a execução do script até que o usuário responda

Exemplo de interação com o diálogo prompt:

[Prompt Dialog]
What is your name? [Guest]
        [OK]   [Cancel]

Ao abrir o arquivo index.html em um navegador web:

  1. Clique no botão "Enter Name"
  2. Um prompt aparecerá pedindo seu nome
  3. Insira um nome ou clique em OK com o valor padrão
  4. A div de saída exibirá uma saudação personalizada

Nesta etapa, você explorará o método window.confirm(), que fornece uma maneira simples de obter a confirmação do usuário por meio de uma caixa de diálogo com as opções "OK" e "Cancelar". Este método da BOM é útil para criar cenários interativos de tomada de decisão em aplicações web.

Navegue até o diretório do projeto:

cd ~/project/bom-demo

Abra o arquivo bom-methods.js na WebIDE e adicione o seguinte código JavaScript:

// Demonstrate window.confirm() method
function showConfirmDialog() {
  const outputDiv = document.getElementById("output");

  // Display a confirmation dialog
  const userDecision = window.confirm("Do you want to continue?");

  // Check user's response
  if (userDecision) {
    outputDiv.textContent = "User clicked OK. Proceeding with the action.";
    outputDiv.style.color = "green";
  } else {
    outputDiv.textContent = "User clicked Cancel. Action aborted.";
    outputDiv.style.color = "red";
  }
}

// Create a button to trigger the confirm dialog
function createConfirmButton() {
  const button = document.createElement("button");
  button.textContent = "Show Confirm Dialog";
  button.onclick = showConfirmDialog;
  document.body.appendChild(button);
}

// Call the function to add button when page loads
createConfirmButton();

Atualize o arquivo index.html para garantir que a div de saída esteja presente:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>BOM Methods Demonstration</title>
  </head>
  <body>
    <h1>Browser Object Model (BOM) Methods</h1>
    <div id="output"></div>

    <script src="bom-methods.js"></script>
  </body>
</html>

Pontos-chave sobre window.confirm():

  • Retorna true se o usuário clicar em "OK"
  • Retorna false se o usuário clicar em "Cancelar"
  • Bloqueia a execução do script até que o usuário faça uma escolha
  • Útil para decisões simples de sim/não

Exemplo de interação com o diálogo confirm:

[Confirm Dialog]
Do you want to continue?
        [OK]   [Cancel]

Ao abrir o arquivo index.html em um navegador web:

  1. Clique no botão "Show Confirm Dialog"
  2. Um diálogo de confirmação aparecerá
  3. Escolha "OK" ou "Cancelar"
  4. A div de saída exibirá o resultado da sua escolha

Experimentar com os Métodos de Abrir e Fechar Janela

Nesta etapa, você explorará os métodos window.open() e window.close(), que permitem criar e gerenciar programaticamente novas janelas ou abas do navegador.

Navegue até o diretório do projeto:

cd ~/project/bom-demo

Primeiro, crie um novo arquivo HTML chamado popup.html:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Popup Window</title>
    <style>
      body {
        font-family: Arial, sans-serif;
        text-align: center;
        padding: 20px;
      }
    </style>
  </head>
  <body>
    <h1>This is a Popup Window</h1>
    <p>Opened using window.open() method</p>
    <button onclick="window.close()">Close Window</button>
  </body>
</html>

Agora, atualize o arquivo bom-methods.js com os métodos de manipulação de janela:

// Function to open a new window
function openNewWindow() {
  const outputDiv = document.getElementById("output");

  // Open a new window with specific dimensions
  const newWindow = window.open(
    "popup.html",
    "PopupWindow",
    "width=400,height=300,resizable=yes"
  );

  // Check if window was successfully opened
  if (newWindow) {
    outputDiv.textContent = "New window opened successfully!";
  } else {
    outputDiv.textContent = "Popup blocked. Please allow popups.";
  }
}

// Function to close the most recently opened window
function closeLastWindow() {
  const outputDiv = document.getElementById("output");

  try {
    // Attempt to close the last opened window
    const lastWindow = window.open("", "_blank");
    if (lastWindow) {
      lastWindow.close();
      outputDiv.textContent = "Last opened window closed.";
    } else {
      outputDiv.textContent = "No window to close.";
    }
  } catch (error) {
    outputDiv.textContent = "Error closing window.";
  }
}

// Create buttons for window operations
function createWindowButtons() {
  const openButton = document.createElement("button");
  openButton.textContent = "Open New Window";
  openButton.onclick = openNewWindow;

  const closeButton = document.createElement("button");
  closeButton.textContent = "Close Last Window";
  closeButton.onclick = closeLastWindow;

  document.body.appendChild(openButton);
  document.body.appendChild(closeButton);
}

// Call the function to add buttons when page loads
createWindowButtons();

Atualize o arquivo index.html para garantir a compatibilidade:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>BOM Methods Demonstration</title>
  </head>
  <body>
    <h1>Browser Object Model (BOM) Methods</h1>
    <div id="output"></div>

    <script src="bom-methods.js"></script>
  </body>
</html>

Pontos-chave sobre window.open() e window.close():

  • window.open() cria uma nova janela ou aba do navegador
  • Pode especificar URL, nome da janela e recursos
  • window.close() fecha a janela atual ou especificada
  • Bloqueadores de pop-up podem impedir a abertura de janelas

Ao abrir o arquivo index.html em um navegador web:

  1. Clique em "Open New Window" para criar uma nova janela pop-up
  2. Clique em "Close Last Window" para fechar a janela aberta recentemente
  3. A div de saída mostrará o status das operações da janela

Resumo

Neste laboratório, os participantes exploraram os métodos da Browser Object Model (BOM) por meio de um projeto prático em JavaScript. O laboratório começou com a configuração de um ambiente HTML e JavaScript estruturado, criando uma base para demonstrar várias técnicas de interação com o navegador. Os participantes aprenderam a criar arquivos de projeto, configurar a estrutura básica do HTML e preparar um arquivo JavaScript para demonstrações de métodos.

As etapas iniciais se concentraram na compreensão dos métodos BOM fundamentais, começando com o método window.alert() para notificações ao usuário. Ao implementar progressivamente diferentes métodos de interação com o navegador, como prompts, confirmações e manipulação de janelas, os alunos ganharam experiência prática no uso das APIs de nível de navegador do JavaScript para criar experiências web interativas e gerenciar comportamentos de janelas do navegador.