对于Javascriptclipboard.readText()在IOSSafari中不起作用?感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解safari里的javascript,并且为您
对于Javascript clipboard.readText() 在 IOS Safari 中不起作用?感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解safari里的javascript,并且为您提供关于@-webkit-keyframe 动画“内容”在 Safari 和 iOS 中不起作用、Clipboard API 在点击事件中与 Axios 结合使用 Safari 中的结果 1我对结果 1 的看法Safari 中的结果 2我对结果 2 的看法Safari 中的结果 3我对结果 3 的看法、Clipboard.js v1.5.15 发布,JavaScript 复制粘贴库、CSS背景位置在Mobile Safari(iPhone/iPad)中不起作用的宝贵知识。
本文目录一览:- Javascript clipboard.readText() 在 IOS Safari 中不起作用?(safari里的javascript)
- @-webkit-keyframe 动画“内容”在 Safari 和 iOS 中不起作用
- Clipboard API 在点击事件中与 Axios 结合使用 Safari 中的结果 1我对结果 1 的看法Safari 中的结果 2我对结果 2 的看法Safari 中的结果 3我对结果 3 的看法
- Clipboard.js v1.5.15 发布,JavaScript 复制粘贴库
- CSS背景位置在Mobile Safari(iPhone/iPad)中不起作用
Javascript clipboard.readText() 在 IOS Safari 中不起作用?(safari里的javascript)
如何解决Javascript clipboard.readText() 在 IOS Safari 中不起作用?
我有几行:
$(document).ready(function(){
$(window).on(''focus'',function () {
navigator.clipboard.readText().then(q => {
alert(q);
}).catch(err => {
console.error(''Failed to read clipboard contents: '',err);
});
});
});
在 Android 浏览器上运行良好。但是在 IOS Safari 中,没有任何反应。 请帮忙!
解决方法
对 webkit 进行了一些更改:https://webkit.org/blog/10247/new-webkit-features-in-safari-13-1/
答案已经在这里完成: Javascript / Clipboard API / Safari iOS / NotAllowedError Message
@-webkit-keyframe 动画“内容”在 Safari 和 iOS 中不起作用
如何解决@-webkit-keyframe 动画“内容”在 Safari 和 iOS 中不起作用
问题 无法让 CSS @-webkit-keyframe 动画与内容标签一起工作。以下代码在 Chrome 和 Firefox 上运行良好,但 Safari 仍不显示“STRING1”。 我已经尝试了论坛中的所有内容,但仍然无效。 有人能帮我吗?非常感谢。
html:
<h1>TEST:<span></span></h1>
CSS:
@-webkit-keyframes textchange {
0% {content: ''STRING1'';}
30% {content: ''SRING2'';}
60% {content: ''STRING3'';}
100% {content: ''STRING1'';}
}
@-moz-keyframes textchange {
0% {content: ''STRING1'';}
30% {content: ''SRING2'';}
60% {content: ''STRING3'';}
100% {content: ''STRING1'';}
}
@-o-keyframes textchange {
0% {content: ''STRING1'';}
30% {content: ''SRING2'';}
60% {content: ''STRING3'';}
100% {content: ''STRING1'';}
}
@keyframes textchange {
0% {content: ''STRING1'';}
30% {content: ''SRING2'';}
60% {content: ''STRING3'';}
100% {content: ''STRING1'';}
}
h1 span::before{
content:''STRING1'';
-webkit-animation-name: textchange;
-webkit-animation-duration: 6s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-webkit-animation-play-state: running;
-webkit-animation-direction: normal;
-webkit-animation-delay:0.01s;
-webkit-animation-fill-mode: forwards;
-o-animation: textchange 6s linear 0.01s infinite;
-ms-animation: textchange 6s linear 0.01s infinite;
-moz-animation: textchange 6s linear 0.01s infinite;
animation: textchange 6s linear 0.01s infinite;
}
解决方法
根据这个线程:css animation on "content:" doesn''t work on Safari and Firefox
除了在桌面版 Chrome 中,无法为伪元素的内容属性设置动画。所以你不能为IOS实现这个抛出的css
你必须使用 Javascript 我会使用一个带有 if 语句的循环来检查当前的 inner.html 值,以在一段时间后更改值文本(setTimeOut 或 setInterval)
Clipboard API 在点击事件中与 Axios 结合使用 Safari 中的结果 1我对结果 1 的看法Safari 中的结果 2我对结果 2 的看法Safari 中的结果 3我对结果 3 的看法
如何解决Clipboard API 在点击事件中与 Axios 结合使用 Safari 中的结果 1我对结果 1 的看法Safari 中的结果 2我对结果 2 的看法Safari 中的结果 3我对结果 3 的看法
TL;DR
是否可以让剪贴板 API 从 Safari 中的 Axios get 请求的结果中写入文本,即使 writeText()
是用户事件的直接结果?
长版
我有一个异步按钮单击事件,在该单击事件中,我使用 Axios 获取另一个页面的 HTML。我想获取该字符串并使用剪贴板 API 将其保存到剪贴板。
这在 Chrome 和 Firefox 中有效,但在 Safari 中存在一些问题,我将在下面展示。
测试:
- Chrome 88.0.4324.192
- Firefox 78.7.1
- Safari 14.0.3
我能找到的与此类事情相关的最接近的 SO 问题是 Javascript / Clipboard API / Safari iOS / NotAllowedError Message,但我觉得我的 Clipboard API 调用是直接在用户事件中调用的。
尝试 1 在 Safari 中开始工作
copyButton.addEventListener(''click'',async (event) => {
try {
const {data: html} = await axios.get(''https://website-to-copy.com'');
await navigator.clipboard.writeText(html);
console.log(''copy was a success'');
} catch (error) {
console.log(error);
}
});
Safari 中的结果 1
- 请求成功
- 无法写入剪贴板
- NotAllowedError:当前上下文中用户代理或平台不允许该请求,可能是因为用户拒绝了权限。
我对结果 1 的看法
当时我认为这会奏效。 writeText()
调用是用户事件的直接结果,我只是传入一个字符串...即使该字符串是 Axios get 请求的结果。当它不起作用时,我想一定是 get 请求放弃了权限。
尝试 2 在 Safari 中开始工作
copyButton.addEventListener(''click'',async (event) => {
try {
const {data: html} = await axios.get(''https://website-to-copy.com'');
// throw in a random string thinking maybe something
// in the get request is throwing Clipboard API off
await navigator.clipboard.writeText(''some random text to copy'');
console.log(''copy was a success'');
} catch (error) {
console.log(error);
}
});
Safari 中的结果 2
- 请求成功
- 无法写入剪贴板
- NotAllowedError:当前上下文中用户代理或平台不允许该请求,可能是因为用户拒绝了权限。
我对结果 2 的看法
当我的随机文本没有复制时,我真的很惊讶。当尝试 #1 失败时,我决定保留 get 请求,但只提供 writeText()
一些随机文本,无论如何与 get 请求无关,只是为了看看它是否会复制。显然 get 请求仍然影响 Clipboard API。
尝试 3 在 Safari 中开始工作
copyButton.addEventListener(''click'',async (event) => {
try {
// remove get request and see if i can get anything to
// copy to clipboard
//const {data: html} = await axios.get(''https://website-to-copy.com'');
await navigator.clipboard.writeText(''some random text to copy'');
console.log(''copy was a success'');
} catch (error) {
console.log(error);
}
});
Safari 中的结果 3
- 文本成功复制到剪贴板
我对结果 3 的看法
我很高兴我可以在 Safari 中使用剪贴板 API 成功复制文本。但是我真的很想复制 get 请求的结果。
Clipboard.js v1.5.15 发布,JavaScript 复制粘贴库
Clipboard.js v1.5.15 发布了,Clipboard.js 实现了纯 JavaScript 无 Flash的浏览器内容复制到系统剪贴板的功能。可以在浏览器和 Node 环境中使用。
浏览器支持:
该库依赖于 Selection 和 execCommand API。 前者支持所有浏览器,后者支持以下浏览器:
更新内容:
移除 Babel loose mode
下载地址:
Source code (zip)
Source code (tar.gz)
CSS背景位置在Mobile Safari(iPhone/iPad)中不起作用
body { background-color: #000000; background-image: url('images/background_top.png'); background-repeat: no-repeat; background-position: center top; overflow: auto; padding: 0px; margin: 0px; font-family: "Arial"; } #header { width: 1030px; height: 215px; margin-left: auto; margin-right: auto; margin-top: 85px; background-image: url('images/header.png'); } #main-content { width: 1000px; height: auto; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; padding-top: 15px; padding-bottom: 15px; background-image: url('images/content_bg.png'); background-repeat: repeat-y; } #footer { width: 100%; height: 343px; background-image: url('images/background_bottom.png'); background-position: center; background-repeat: no-repeat; }
“background_top.png”和“background_bottom.png”都向左移动太远。我已经google了,据我所知,在移动Safari中支持背景位置IS。我也尝试过各种关键字(“顶”,“中心”等),px和%的组合。有什么想法吗?
谢谢!
更新:这是.html文件中的标记,显示设计&布局在其他浏览器中好((我也更新了上面的css)
<html lang="en"> <head> <title>Title</title> <link rel="Stylesheet" type="text/css" href="styles.css" /> </head> <body> <div id="header"></div> <div id="main-content"></div> <div id="footer"></div> </body> </html>
两个背景图像都非常宽(〜2000像素),以便在任何尺寸的浏览器上占用空间。
附:我知道可能有一些更有效的CSS快捷方式可以使用,但是现在我喜欢将代码组织起来,就像我有可见性一样。
解决方法
#wrapper { background-color: #000000; background-image: url('images/background_top.png'); background-repeat: no-repeat; background-position: center top; overflow: auto; } <html lang="en"> <head> <title>Title</title> <link rel="Stylesheet" type="text/css" href="styles.css" /> </head> <body> <div id="wrapper"> <div id="header"></div> <div id="main-content"></div> <div id="footer"></div> </div> </body> </html>
关于Javascript clipboard.readText() 在 IOS Safari 中不起作用?和safari里的javascript的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于@-webkit-keyframe 动画“内容”在 Safari 和 iOS 中不起作用、Clipboard API 在点击事件中与 Axios 结合使用 Safari 中的结果 1我对结果 1 的看法Safari 中的结果 2我对结果 2 的看法Safari 中的结果 3我对结果 3 的看法、Clipboard.js v1.5.15 发布,JavaScript 复制粘贴库、CSS背景位置在Mobile Safari(iPhone/iPad)中不起作用的相关知识,请在本站寻找。
本文标签: