我找不到以下标准的W3或WHAT-WG(甚至非标准第三方)规范:
<meta name="format-detection">
Run Code Online (Sandbox Code Playgroud)
我有两个原则问题。
问题1:元标记中可以引用哪些格式?format-detection
最常见的是,第三方参考文献引用telephone.
偶尔email还是date被引用。
更罕见的是,address被引用。
一个来源 ( https://www.goodemailcode.com/email-code/template.html ) 引用了这一点url。
这给出了以下格式列表:
telephoneemaildateaddressurl这是完整的格式列表吗?还有其他人吗?
问题 2:必须单独引用每种格式,还是可以在单个元标记中一起引用任意数量的格式?
即问,是否需要声明:
<meta name="format-detection" content="telephone=no">
<meta name="format-detection" content="email=no">
<meta name="format-detection" content="date=no">
<meta name="format-detection" content="address=no">
<meta name="format-detection" content="url=no">
Run Code Online (Sandbox Code Playgroud)
或者这是完全可以接受的:
<meta name="format-detection" content="telephone=no, email=no, date=no, address=no, url=no">
Run Code Online (Sandbox Code Playgroud)
如果format-detection不是公认的标准,我非常乐意参考非标准规范(或博客文章),只要该文档具有一定的权威性并且不仅仅是第三方的观察或评论。
在javascript中,var myStringToArray = myString.split('');完全可以接受.
但在PHP中,$My_String_To_Array = explode('', $My_String);抛出一个错误:
警告:explode()空分隔符
PHP手册(http://php.net/manual/en/function.explode.php)解释说:
如果分隔符是空字符串(""),则explode()将返回FALSE.
那么我应该在现代PHP中使用什么而不是explode('', $My_String)?
到目前为止,我能看到的替代方案是:
split("", $My_String) - 自PHP 5.3.0起已弃用str_split($My_String)preg_split('//', $My_String)七年前,str_split()本来是使用的正确选择.
但str_split()仍然在当代使用或我应该只看preg_split()?
或者我应该看别的东西?
我有一个SVG,我想在新网站上经常使用.
因此,不是在许多页面上内联编写SVG,而是将每个页面上的SVG包含为可缓存<img>,这在首次下载后可以从浏览器缓存中检索.
我调用的SVG <img>与我内联写入的内容相同 - 但是内联SVG与浏览器宽度相对应,SVG调用的<img>则没有.
我需要做什么,以确保SVG <img>上下调用的方式与内联中包含的方式完全相同?
例:
.handsoffhri-campaign-logo {
width: 80.5vw;
height: 12vw;
background-color: rgba(0,0,0,0.4);
}
pre, p pre {
display: inline;
}Run Code Online (Sandbox Code Playgroud)
<p>Expand this window to <em>Full Page</em> and then narrow and widen the browser viewport to see how the two SVGs behave differently (though they are identical). How can I get the SVG called by <b><img></b> to scale up and down like the inline SVG?</p>
<h2>SVG called by <pre><img></pre></h2>
<img …Run Code Online (Sandbox Code Playgroud)我想在window.location.search 不重新加载文档的情况下进行更新,然后根据window.location.search.
当用户单击按钮时,该按钮的onclick事件会触发以下函数:
window.history.pushState({action : 'myAction'}, document.title, '?action=myAction');
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好。window.location.search浏览器 URL 栏中的更新。
但是我找不到检测此更新的通用后台事件侦听器-类似于onhashchange查询字符串。
我能想到的最好的是:
window.history.pushState({action : 'myAction'}, document.title, '?action=myAction');
window.history.pushState({action : 'myAction'}, document.title, '?action=myAction');
window.history.back();
window.addEventListener('popstate', () => console.log(event.state.action));
Run Code Online (Sandbox Code Playgroud)
这有效,但我相信必须有更优雅的方法。
我只想更改 svg 填充颜色和悬停颜色。但我看到这个 svg 像这样附加:
<use xlink:href="#search-magnify"></use>
Run Code Online (Sandbox Code Playgroud)
我认为它指的是网站上某个地方的这个 svg。我只想更改填充颜色而不编辑原始 svg。所以我尝试用这种方式用类和样式将它包裹在跨度上。
.icon svg path{
fill: red;
color: red;
}
Run Code Online (Sandbox Code Playgroud)
但它根本不起作用。这是小提琴。
我在这里缺少什么?难道这不能通过css实现吗?
Shadow Root是否有维护一个官方列表,其中包含渗透到的CSS 属性的最新详细信息WebComponent?
我认为有以下几点:
colorline-heightfont-familyfont-sizefont-weight都是这样,但至少还有十几个吧?
WebComponents:在constructor()开头的方法中class,通常将影子 DOM 树附加到Custom Element并返回对其的引用ShadowRoot:
class myCustomElement extends HTMLElement {
constructor() {
super();
const shadowroot = this.attachShadow({mode: 'open'});
}
[... REST OF CODE HERE...]
}
Run Code Online (Sandbox Code Playgroud)
当然,引用的名称可以是任何名称。
我见过:
var shadow = this.attachShadow({mode: 'open'});(看:Element.attachShadow())this.root = this.attachShadow({mode: 'open'});我们可以很容易地使用:
const myShadowRootzzz = this.attachShadow({mode: 'open'});然而,已经存在Element.shadowRoot作为参考ShadowRoot。
那么为什么语法是
const shadow = this.attachShadow({mode: 'open'});
Run Code Online (Sandbox Code Playgroud)
在示例中经常使用,简单说明时:
this.attachShadow({mode: 'open'});
Run Code Online (Sandbox Code Playgroud)
就足够了,因为......任何时候ShadowRoot需要引用,该引用字面意思是:
this.shadowRoot
Run Code Online (Sandbox Code Playgroud)
为什么 WebComponent …
web-component shadow-dom custom-element native-web-component
我正在使用 JavaScript Performance API,并且试图找出正确的指标组合,以便在请求和加载任何单个页面时在控制台上记录页面加载时间。
TLDR: 我想使用 JavaScript 的性能 API来获取接近Firefox 开发人员工具(或任何浏览器开发人员工具)的“网络”选项卡load上报告的数字的数字。
请参阅下图中右侧的数字:
我不会有任何问题,但事实上,我尝试过的组合都无法始终接近loadFirefox 开发者工具的“网络”选项卡上报告的数字 - 有时我得到的最终数字高达百分之几第二次下,有时相同的量超过。
也许我已经达到了尽可能接近的数字,但我想确保我做到了,并且不会意外地引用不适当的指标。
以下是我正在使用的指标(来自PerformanceNavigationTiming的界面Performance API):
domainLookupEndconnectEnd- 我以前用过这个,但现在没有responseEndloadEventStart这就是我目前所拥有的:
window.addEventListener('load', () => {
let domainLookupEnd = performance.getEntriesByType('navigation')[0].domainLookupEnd;
let connectEnd = performance.getEntriesByType('navigation')[0].connectEnd;
let responseEnd = performance.getEntriesByType('navigation')[0].responseEnd;
let loadEventStart = performance.getEntriesByType('navigation')[0].loadEventStart;
console.log(`
domainLookupEnd: ${domainLookupEnd}
connectEnd: ${connectEnd}
responseEnd: ${responseEnd}
loadEventStart: ${loadEventStart}
Page loaded in: (${responseEnd} - ${domainLookupEnd})
Page built in: (${loadEventStart} - ${responseEnd})
Page …Run Code Online (Sandbox Code Playgroud) 我不currentColor经常使用,但是当我这样做时,它非常有用.
所以我对CSS变量的到来感到有些兴奋.
我们来一个红绿灯.
NB请相信我,日本的红绿灯变成琥珀色到蓝色.我知道这很难相信.我知道蓝灯看起来很绿.但它不是,它是蓝色的.
div {
float: left;
width: 200px;
}
div div {
float: none;
}
.top {
color: rgb(255,0,0);
}
.middle {
color: rgb(255,227,0);
}
.bottom {
color: rgb(63,255,63);
}
.jp .bottom {
color: rgb(0,255,191);
}
.light {
text-align: center;
}
.light::before {
content: '';
display: block;
margin: 6px auto 0;
width: 25px;
height: 25px;
border-radius: 15px;
background-color: currentColor;
}Run Code Online (Sandbox Code Playgroud)
<div class="uk">
<h2>UK Traffic Lights</h2>
<div class="top light">Red</div>
<div …Run Code Online (Sandbox Code Playgroud)我有以下数组:
const values = ['', 0, 'one', NaN, 1, 'two', 2, null, 'three', undefined, 3, false];
Run Code Online (Sandbox Code Playgroud)
我想filter()了所有的falsy值,除了为''和0。
我知道有一个有用的速记:
return values.filter(Boolean)
Run Code Online (Sandbox Code Playgroud)
但这会删除包括和在内的所有falsy值。 ''0
我尝试了以下方法:
return values.filter(value => [NaN, null, undefined, false].indexOf(value) < 0);
Run Code Online (Sandbox Code Playgroud)
它几乎是正确的......但它不会删除NaN.
const values = ['', 0, 'one', NaN, 1, 'two', 2, null, 'three', undefined, 3, false];
Run Code Online (Sandbox Code Playgroud)
有什么方法可以达到与上一个示例相同的结果,但也可以删除NaN?