Files
2023-12-09 17:29:56 +11:00

73 lines
2.4 KiB
Plaintext

# Frontend
## Injeção de script
Quando Wails serve a página `index.html`, por padrão injetará duas entradas de escript na `<body>`tag para carregar `/wails/ipc.js` e `/wails/runtime.js`. Esses arquivos instalam o bindings e o tempo de execução, respectivamente.
O código abaixo mostra onde estas são injetadas por padrão:
```html
<html>
<head>
<title>injection example</title>
<link rel="stylesheet" href="/main.css" />
<!-- <script src="/wails/ipc.js"></script> -->
<!-- <script src="/wails/runtime.js"></script> -->
</head>
<body data-wails-drag>
<div class="logo"></div>
<div class="result" id="result">Please enter your name below 👇</div>
<div class="input-box" id="input" data-wails-no-drag>
<input class="input" id="name" type="text" autocomplete="off" />
<button class="btn" onclick="greet()">Greet</button>
</div>
<script src="/main.js"></script>
</body>
</html>
```
### Sobrescrevendo a injeção de script padrão
Para oferecer mais flexibilidade aos desenvolvedores, há uma meta tag que pode ser usada para personalizar este comportamento:
```html
<meta name="wails-options" content="[options]" />
```
As configurações são as seguintes:
| Valor | Descrição |
| ------------------- | ---------------------------------------------- |
| noautoinjectruntime | Desativa a auto-injeção no `/wails/runtime.js` |
| noautoinjectipc | Desativa a autoinjeção no `/wails/ipc.js` |
| noautoinject | Desativa todas as autoinjeções de scripts |
Várias opções podem ser usadas, desde que sejam separadas por vírgulas.
Este código é perfeitamente válido e opera o mesmo que a versão da auto-injeção:
```html
<html>
<head>
<title>injection example</title>
<meta name="wails-options" content="noautoinject" />
<link rel="stylesheet" href="/main.css" />
</head>
<body data-wails-drag>
<div class="logo"></div>
<div class="result" id="result">Please enter your name below 👇</div>
<div class="input-box" id="input" data-wails-no-drag>
<input class="input" id="name" type="text" autocomplete="off" />
<button class="btn" onclick="greet()">Greet</button>
</div>
<script src="/wails/ipc.js"></script>
<script src="/wails/runtime.js"></script>
<script src="/main.js"></script>
</body>
</html>
```