Post not yet marked as solved
【現象】
Safariブラウザでcanvasに対して任意の描画をした後、clearRect()を実行します。
その後、canvasの親divに対して visibility: hidden を設定すると、消したはずの描画が復活します。
但し、親divは正常に visibility: hidden が働いているので描画されなくなります。
また、この現象はブラウザの拡大率が影響をしているようです。
少なくとも後述のリスト内のMacbookAirでは、拡大率が100%の場合にのみ発生しています。
この現象は過去のバージョンでは起きてないようです。
このバグを修正する予定はありますか?
【機種】
機種は以下のリストを確認してください。
Model
OS&Version
Y/N
version
MacbookAir M2 2022
macOS Sonoma 14.4.1
y
17.4.1
Mac Studio 2022 Apple M1 Max
macOS Monterey 12.5
n
16.0
MacBook Air M1 2020
macOS Sonoma 14.3.1
n
17.3.1
iPadPro gen6
iPadOS 17.4.1
y
-
iPad gen10
iPadOS 17.4.1
n
-
【デモ】
現象を確認するためのデモは以下のHTMLファイルを保存してブラウザで開いてください。
再現手順はボタンを draw -> clear -> hide の順番に押してください。
黄色の親divが非表示になるのに対し、canvasからclearしたはずの黒い四角が表示されます。
<html>
<body onload="onLoad()">
<div id="parent" style="background-color: yellow;">
<canvas id="canvas"></canvas>
</div>
<button onclick="drawCanvas()">draw</button>
<button onclick="clearCanvas()">clear</button>
<button onclick="showCanvas()">show</button>
<button onclick="hideCanvas()">hide</button>
<script>
let parent
let canvas
let context2d
function onLoad() {
parent = document.getElementById("parent")
canvas = document.getElementById("canvas")
context2d = canvas.getContext('2d')
}
function drawCanvas() {
context2d.fillRect(0, 0, 100, 100)
}
function clearCanvas() {
context2d.clearRect(0, 0, canvas.width, canvas.height)
}
function showCanvas() {
parent.style.visibility = "visible"
}
function hideCanvas() {
parent.style.visibility = "hidden"
}
</script>
</body>
</html>
Post not yet marked as solved
I am trying to develop website that can upload instagram story from web.
I opened the Instagram app and even opened the story upload pop-up.
but, I can't send Image Data.
I need your Help....
source_application is detected at instagram,
but backgroundImage is not sent at instagram.
How can I send.......
because
Post not yet marked as solved
If I set an input text box connected to a datalist-options, in order to suggest pre-coded values, this is what happens:
The text field shows properly.
When I start typing, one or more coincident "options" from the datalist are shown at the bottom of the available screen.
When one option is selected, the data contained in it is NOT transcript to the input field.
The same webtest works fine on Ipad mini w/ios 15.
Try this simple code, it doesn't work:
<label for="browser">Choose your browser from the list:</label>
<input list="browsers" name="browser" id="browser">
<datalist id="browsers">
<option value="Edge">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
Post not yet marked as solved
I'm not sure if I just missed a recent breaking change, but we are having an issue with the camera in our single page app on iOS 17.4.1 in Safari. We can open the camera and display it to the user using getUserMedia. However, if the path of the site changes at all (for example, the user clicks a button to opens a sidepanel which results in the path in the browser changing) the camera goes black, even if the video element is still being displayed.
I can see in the browser that the camera has stopped, and the user has to re-enable it manually by tapping "Start Using Camera".
Any idea's what could be going on here?
Post not yet marked as solved
In iOS version 17.4 and above, we have observed that the following code works fine upon the initial opening. However, after minimizing the page and reopening it, there is a chance of encountering issues with abnormal lines.
Please note the reproduction conditions: try minimizing the page, opening other apps, and then reopening it multiple times.
The code is in the comments section.
first time:
After minimizing and reopening...
Post not yet marked as solved
I am developing a web application that works on webview.
From iOS 13, users could set a specific language for each individual app, and every webview-based application knew the application language through navigator.language.
However, in iOS 17.4, this API returns the system language instead of the individual app's language in web applications.
Is this an official change in iOS 17.4 or a bug?
Post not yet marked as solved
Application:
HTML,Javascript,Angular web Application
Issue:
In Iphone/Ipad while trying to enter English characters using Japanese keyboard in the input field
the japanese keyboard freezes and stops working after entering the first character.
Root Cause:
Two validations given in the onInput call back method causes the issue.
when the validation are removed keyboard is working fine
1.for converting lowercase letters to uppercase
2.Some Character are not allowed so they are replaced after input
Post not yet marked as solved
Even when iOS's '"." Shortcut' keyboard setting is enabled, double-tapping the spacebar in WKWebView doesn't insert a period.
While making WKWebView editable , "." shortcut is not working. It works fine when any other external keyboard is used. I am facing this issue in WKWebView using apple keyboard. Even forceful adding javascript to replace double tap of space bar to period character logic is not working.
Good morning!
I am developing an iOS app that gets its data from an API and displays it in a list. The list item view has NavigationLink embedded in it that sends users to a detail view. In this detail view, I have some Text views but the issue I am running into is a WKWebView that I have implemented to display some HTML that's is retrieved from the API call.
The WKWebView displays the HTML just how I want it to. The issue I have is in the HyperLinks that are displayed in the WKWebView. When a user taps on a link, it opens inside of the web view. Instead of opening in the web view, I would like this link to open in the user's default web browser. I have searched and found ways of doing this in older versions of Swift using classes but my web view is initialized inside of a struct that conforms to the UIViewRepresentable protocol.
I don't know how to get links to open in the browser instead of the WebView so any help would be appreciated. Here is the code for my WebView that is being used on the details page.
struct NewsItemWebView: UIViewRepresentable {
// HTML from API Call
var text: String
// Method to create the View
func makeUIView(context: Context) -> WKWebView {
return WKWebView()
}
// Method to update the View by changing properties of the WebView
func updateUIView(_ uiView: WKWebView, context: Context) {
uiView.isOpaque = false
uiView.backgroundColor = UIColor.white
uiView.loadHTMLString(text, baseURL: nil)
}
}
Here is how I am implementing the WebView on DetailView
NewsItemWebView(text: item.PageContent)
.frame(height: 450)
Any help on how I can make links open in a browser would be great. Thanks in advance.
Post not yet marked as solved
I have a wind map web application developed using HTML canvas 2D. However, after iOS 16.X (I'm not sure of the exact version), the streamlines have changed and now appear as below. They no longer disappear as they did previously.
This issue is not limited to a specific browser.
Before:
After:
Post not yet marked as solved
Hello,
I've encountered an issue with the scrollbar functionality on my webpage specifically when accessed through Safari. Despite its functionality on other browsers and devices, Safari on iOS 14 displays only the native scrollbar during scrolling, contrary to the desired behaviour of consistently showing the scrollbar.
&::-webkit-scrollbar {
height: 2px;
}
&::-webkit-scrollbar-track {
background-color: "white";
margin-left: 4px;
margin-right: 4px;
}
&::-webkit-scrollbar-thumb {
background: "orange";
}
}
Post not yet marked as solved
First: don’t tell me about webkit-reporting. I just get a 502 from there!
Ok, what’s the problem? I made an example telling it all:
<html>
<head>
<style>
.ext { display: none; color: cyan; }
body {
max-inline-size: calc(100vi - 12px);
&:not(:has(:target)), &:has(p.dft:target) {
#ext { display: none; }
#dft { display: block; }
}
&:has(p.ext:target) {
#ext { display: block; }
#dft { display: none; }
}
&.ext li { display: none; }
&:has(.ext:target) {
& li.ext { display: revert; }
}
}
header > p > a::before { color: orange; content: "click me >>> "; }
ul { display: flex; }
li { margin: 1ex; list-style-type: none; inline-size: max-content; }
.yes li::before {
font-size: 70%; color: yellow; background-color: blue;
content: "(" counters(total, ":") ")";
}
ul.nGrp {
display: inline flex;
counter-reset: nameIndex;
& li::after {
display: inline-block;
counter-increment: nameIndex;
font-size: 75%; color: red; vertical-align: sub;
content: "(" counter(nameIndex) ")";
}
}
header {
inline-size: 100%;
font-size: 2rem; text-align: center;
}
article {
counter-reset: total;
padding: 1ex; margin: 1em;
&::after {
font-size: 3em; color: purple;
content: "— [" counter(total) "] —";
}
li { counter-increment: total; }
outline: 1ex groove purple;
}
</style>
<title>Strange Safari-Count</title>
</head>
<body lang="de">
<header>
<hgroup><h1>Strange counting without <code>:before</code></h1><p>different from FireFox!</p></hgroup>
<p id="dft" class="dft"><a href="#ext">More?</a></p>
<p id="ext" class="ext"><a href="#dft">Less!</a></p>
<p><code>:before</code> doesn’t inherit parent’s display:none? (same in FireFox)</p>
</header>
<article>
<ul>
<li class="dft"><p>A1</p></li>
<li><ul class="nGrp"><li class="dft"><p>A1</p></li><li class="dft"><p>A1</p></li></ul></li>
<li class="dft"><p>A3</p></li><li class="dft"><p>A4</p></li>
<li><ul class="nGrp"><li class="dft"><p>A5</p></li><li class="ext"><p>A5</p></li></ul>
</li>
<li><ul class="nGrp"><li class="dft"><p>A6</p></li><li class="dft"><p>A6</p></li><li class="dft"><p>A6</p></li></ul></li>
</ul>
<ul>
<li><ul class="nGrp"><li class="ext"><p>B1</p></li><li class="dft"><p>B1</p></li></ul></li>
<li class="dft"><p>B2</p></li>
<li><ul class="nGrp"><li class="dft"><p>B3</p></li><li class="ext"><p>B3</p></li></ul></li>
</ul>
</article>
<article class="yes">
<ul>
<li class="dft"><p>A1</p></li>
<li><ul class="nGrp"><li class="dft"><p>A1</p></li><li class="dft"><p>A1</p></li></ul></li>
<li class="dft"><p>A3</p></li><li class="dft"><p>A4</p></li>
<li><ul class="nGrp"><li class="dft"><p>A5</p></li><li class="ext"><p>A5</p></li></ul>
</li>
<li><ul class="nGrp"><li class="dft"><p>A6</p></li><li class="dft"><p>A6</p></li><li class="dft"><p>A6</p></li></ul></li>
</ul>
<ul>
<li><ul class="nGrp"><li class="ext"><p>B1</p></li><li class="dft"><p>B1</p></li></ul></li>
<li class="dft"><p>B2</p></li>
<li><ul class="nGrp"><li class="dft"><p>B3</p></li><li class="ext"><p>B3</p></li></ul></li>
</ul>
</article>
</body>
</html>
At least have an eye on the total count at the end of the (identical) articles! Before and after clicking the teaser.
Post not yet marked as solved
Hello community, first post I hope to meet the guidelines.
I am developing a web site that uses a library that involves audio playback.
This playback is accompanied by an animated canva, and in the IOS17 version in safari, this does not work. The audio is muted and the canva does not animate.
However, in ios16 safari it works perfectly.
I have also tried in safari on MacOs and ipadOs and it works, which makes me see that the problem is with ios 17 safari.
The library in question is this: https://github.com/foobar404/Wave.js/
I don't think the failure is in the library since it works as I said in all other platforms.
Specifically the code is here: https://github.com/foobar404/wave.js/blob/main/src/index.ts and makes me think that some HTML element is being incompatible.
It is necessary to emphasize that in ios17 it does not work, but it does not appear any error in console.
I would love to get help or know if this is a bug to report it.
Post not yet marked as solved
Hi,
After iOS 17 software update, we've encountered an anomaly with the video element within our videojs player. Upon video load, there's a noticeable shift and recentring of the video to its correct position.
This issue becomes more pronounced when the player is in a horizontal orientation while the video being played is vertical.
Additionally, we've observed resizing and cropping issues during the initialization of the player, which were not present in earlier versions. In our current implementation, we have a canvas element inserted before the player. Due to resizing, the video sticks to the canvas and fails to return to the correct position.
<div>
<video class="vjs-tech"
webkit-playsinline
playsinline
src="hls video source">
</video>
<canvas style="filter: blur(15px)" class="vjs-tech custom-canvas" width="412" height="320">
</canvas>
</div>
Post not yet marked as solved
Hello,
I am looking for help with displaying Smart Banners on mobile devices. What is the preferred coding that can have Smart Banners appear on all devices? I am having an issue where an Smart Banner is not properly functioning as I would like it to. I would like the CTA (Call-To-Action) to be positioned on the top of a mobile screen. If a user has the mobile app already, it should read OPEN and opens into the app when it is clicked. If the user does not have the app, it should read GET and take a user to the mobile app store when it is clicked.
Post not yet marked as solved
Please clarify if latest guides update allow to html5 games without binary inclusion.
Does that mean that gambling apps do not required embedded resources for real money games in the app?
Post not yet marked as solved
Hello, I am experiencing an issue when running a script on Safari, specifically WebKit. Here is a sample HTML code:
<!DOCTYPE html>
<html lang="en">
<head>
<script>
function delayedFocus(e) {
e.preventDefault();
setTimeout(function() {
e.target.focus();
}, 1000); // Adjust the delay time as needed (in milliseconds)
}
</script>
</head>
<body>
<ul>
<li>
<input type="text" id="testtext" onmousedown="delayedFocus(event)">
</li>
</ul>
</body>
</html>
The logic behind this script is to introduce a 1-second delay when the user clicks on the textbox. After 1 second, the keyboard should appear.
Testing on Android mobile devices shows the expected behavior. However, on iPhones, the textbox receives focus, but the keyboard does not appear. This issue has been observed on various iOS versions, with the script working only on iOS 15.
If you have any insights or solutions to address this compatibility issue, it would be greatly appreciated. Thank you.
Post not yet marked as solved
Hi,
I have a mobile app that uses iframe to show the html content.
I noticed that the link cant be opened on the IOS but its works well on android. Here's general example html code:
<iframe id="view-html-viewer-iframe" src="about:blank" frameborder="0">
...
<p><a href="https://google.com/" target="_parent">Google</a></p>
...
</iframe>
Anyone encounter the same issue.? is there any solution for this.?
Thanks.
Post not yet marked as solved
I have a table with a filter. The table only displays the table rows that matches the filter. In the javascript code, I have a filterInteraction() function that have a commonElements list and display the table rows if they are included in the commonElements list. In my html, when the user click, the filterInteraction() will be triggered. Here's part of my filterInteraction() function (the sensitive code is removed): "
function filterInteraction(){
let searchList = searchResult();
let checkboxList = checkboxResult();
let commonElements = searchList.filter(element => checkboxList.includes(element));
console.log("commonElements ==========", commonElements)
var table, tr, i;
table = document.getElementById("employeeTable");
let rows = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
let currentName = rows[i].getElementsByTagName("td")[0].textContent.trim();
if(commonElements.includes(currentName)){
rows[i].style.visibility = "visible";
// rows[i].removeAttribute("hidden");
// rows[i].style.display = "";
}
else{
rows[i].style.visibility = "hidden";
// rows[i].setAttribute("hidden", true);
// rows[i].style.display = "none";
}
}
countPart(commonElements.length);
}".
In this function, I printed the commonElements list, and the list is always correct. However, for the display, it's switching between displaying nothing and displaying the correct rows. (When entering the Safari, the first click on the filter makes the table empty, but the second click displays the correct rows, the next click will make the table displays nothing again .... ). Even during the time that the table display nothing, the commonElements list printed in console is still correct, which means the function does have the correct table rows, but they are not displayed. I tried three different ways to display the table row: "rows[i].style.visibility = "visible"; rows[i].removeAttribute("hidden"); rows[i].style.display = "";". None of them could work without the bug I mentioned above. I tested my filter on Chrome, FireFox, and IE, and my filter works perfectly on them. Any possible way to solve the issue on Safari? Why it has the display bug like this in Safari? Really need help!!! Thanks
Basic HTML strings do not display correctly on macOS Sonoma, I am wondering if there is an alternative technique that can be utilized. There was a minor change in macOS 14.2, which fixed some cases but made others much worse.
Consider the following code:
override func viewDidLoad() {
super.viewDidLoad()
let html = """
<table width="100%" border="1" style="color: white">
<tr>
<td align="left">Left</td>
<td align="right">Right</td>
</tr>
</table>
"""
let data = Data(html.utf8)
let definition = try! NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: NSNumber(value: String.Encoding.utf8.rawValue)], documentAttributes: nil)
let frameRect = NSRect(x: 100, y: 0, width: 300, height: 200)
let textView = NSTextView(frame: frameRect)
textView.textStorage?.setAttributedString(definition)
textView.backgroundColor = .clear
view.addSubview(textView)
}
On macOS 14 (23A5312d) it looks like this (FB13170237):
On macOS 14.2 (23C64) it looks like this (FB13465833):