I have added all polyfills to make liveview work with IE 11, but I have a really weird situation.
I have added a send hello message to liveview. It is not run with IE11, but run correctly with Edge.
@impl true
def mount(_params, _session, socket) do
Logger.info("MOUNT")
send(self(), {:hello, "world"})
{:ok, assign(socket, query: "", results: %{})}
end
...
@impl true
def handle_info({:hello, message}, socket) do
Logger.info("HELLO #{inspect message}")
{:noreply, socket}
end
In the log, I can see those messages.
# WITH Edge
[info] GET /
[debug] Processing with Phoenix.LiveView.Plug.index/2
Parameters: %{}
Pipelines: [:browser]
[info] MOUNT
[info] HELLO "world"
[info] Sent 200 in 850µs
[info] MOUNT
[info] HELLO "world"
# WITH IE11
[info] GET /
[debug] Processing with Phoenix.LiveView.Plug.index/2
Parameters: %{"q" => "test"}
Pipelines: [:browser]
[info] MOUNT
[info] Sent 200 in 3ms
How is that even possible that liveview does not execute the send hello world when using IE11?
I cannot understand how the browser can affect the liveview process.
I didn’t look at the code yet, I’ll look at it later, but you can try, it won’t make it any worse anyway.
This is for IE11
1. Press the [Ctrl], [Shift] and [Del] Key together. A Popup-Window opens. **"Delete browser history"**.
2. Remove all checks except the selection **"Temporary Internet files and website files"**.
3. Click on the Button **"Delete"** to empty the browser cache. In comparsion to other browsers there is no option to select the time period. You'll delete all cache data.
4. Reload the page.