首先抱歉第10,000次RegEx问题,
我意识到还有其他与域相关的问题,但正则表达式要么不正常,要么太复杂,要么对于具有子域,协议和文件路径的URL.
我更简单,我需要验证一个域名:
google.com
stackoverflow.com
所以这是一个最新形式的域名 - 甚至不是像www这样的子域名.
编辑:TLD显然是2-6个字符
没有.4修订版: TLD实际上应该被标记为"子域名",因为它应该包含像.co.uk这样的东西 - 我想可能的唯一验证(除了检查列表之外)将是'在第一个点之后应该有一个或者规则#1下的更多角色
非常感谢,相信我,我确实尝试过!
我有一些需要开发的东西 - 例如我想不会破坏我的分布式构建文件的模拟.
在RequireJS中,您可以在插件文件中传递配置,并根据需要调整其中的内容.
对于webpack,似乎没有办法做到这一点.首先创建一个环境中运行时配置我用resolve.alias重新指向一个取决于环境,例如,需要:
// All settings.
var all = {
fish: 'salmon'
};
// `envsettings` is an alias resolved at build time.
module.exports = Object.assign(all, require('envsettings'));
Run Code Online (Sandbox Code Playgroud)
然后在创建webpack配置时,我可以动态分配哪些文件envsettings指向(即webpackConfig.resolve.alias.envsettings = './' + env).
不过我想做的事情如下:
if (settings.mock) {
// Short-circuit ajax calls.
// Require in all the mock modules.
}
Run Code Online (Sandbox Code Playgroud)
但显然我不想在环境不是模拟的情况下构建那些模拟文件.
我可以再次使用resolve.alias手动将所有这些需求重新命名为存根文件 - 但是有没有一种感觉不那么hacky的方法?
我有什么想法可以做到这一点?谢谢.
Promise.reject(new Error('Something went wrong'));
Run Code Online (Sandbox Code Playgroud)
或者我应该拒绝一个字符串:
Promise.reject('Something went wrong');
Run Code Online (Sandbox Code Playgroud)
浏览器行为有什么不同?
我想知道CURLOPT_USERPWD实际上对请求的url,标头或数据做了什么.它是INSTEAD OF Authorization: Basic <base64 of user:pass>还是它在这边工作?
是修改网址吗?:
username:password@someurl.com
我看到了一些像这样的代码,所以我想知道,因为看起来我在NodeJS等效请求中请求它的url只是一个Authorization标头(我有理论服务器坏了,忽略了Auth头并使用了用户名:密码在网址中):
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$encodedAuth = base64_encode(self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authentication : Basic ".$encodedAuth));
curl_setopt($ch, CURLOPT_USERPWD, self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
Run Code Online (Sandbox Code Playgroud)
谢谢
当移动浏览器调出键盘时,它会尝试移动滚动条,以便输入仍在视图中.
在iOS Safari上,它似乎通过查找最近的滚动父级来正确执行此操作.
在Android原生或Chrome移动浏览器上,它似乎只是尝试身体元素然后放弃,因此焦点输入隐藏在键盘下方.
设置overflow-y: hidden在body元素上.创建一个可滚动的容器并在其中放置一个表单.
当您选择靠近屏幕底部的元素时,它将被键盘遮挡.
http://dominictobias.com/android-scroll-bug/
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
<title>Android scroll/focus bug</title>
<style>
html, body {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
.scroll {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow-y: scroll;
}
input {
margin-bottom: 20px;
width: 100%;
}
</style>
</head>
<body>
<div class="scroll">
<input type="text" value="Input 1">
<input type="text" value="Input 2">
<input type="text" value="Input 3">
<input type="text" value="Input 4"> …Run Code Online (Sandbox Code Playgroud) 我有一个具有以下样式的TextInput:
amountInput: {
flex: 1,
backgroundColor: 'rgba(255, 255, 255, 0.1)',
color: 'rgba(255, 255, 255, 0.9)',
},
Run Code Online (Sandbox Code Playgroud)
在iOS上它正确看起来没有足够的填充:
在Android上默认有大量填充:
不是问题 - 我将设置左右填充和高度:
amountInput: {
flex: 1,
backgroundColor: 'rgba(255, 255, 255, 0.1)',
height: 30,
paddingRight: 5,
paddingLeft: 5,
color: 'rgba(255, 255, 255, 0.9)',
}
Run Code Online (Sandbox Code Playgroud)
在iOS上看起来不错:
但Android搞砸了:
如何制作像倒数第二个iOS截图的Android输入框?谢谢.
我想重定向所有路径,如下所示:
myurl.com/worldwide/en
myurl.com/worldwide/pt
myurl.com/worldwide/de
Run Code Online (Sandbox Code Playgroud)
至:
myurl.com/worldwide/index.php?lang=en
myurl.com/worldwide/index.php?lang=pt
myurl.com/worldwide/index.php?lang=de
Run Code Online (Sandbox Code Playgroud)
只是为了清楚路径名的动态重定向 /worldwide
其实理想情况下我想保留原始网址(例如myurl.com/worldwide/de),但加载相同的php文件与语言目录作为参数但不确定这是否可能?
谢谢
似乎iOS7 iphone/ipad以及可能/可能的其他版本存在根本性的破坏.
如果您专注于输入字段以使键盘处于打开状态,则布局会在方向更改时以可怕且不可恢复的方式中断.它与css无关我只添加它以便可以更清楚地看到问题.
更改方向返回修复了布局,但我找不到其他方法.
要加载到iPad/iPhone上:http://dominictobias.com/ios-layout-bug/
更新:仅在元视口中以maximum-scale = 1中断,当您更改方向时,它会停止Safari放大.
更新2:这是元视口的另一个有趣的错误:
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
Run Code Online (Sandbox Code Playgroud)
如果你这样做并改变方向,它会放大然后你不能缩小并再次看到整个网站 - 即使刷新也行不通.您必须创建一个新选项卡才能恢复到正常的缩放级别.
更新3:而不是考虑这是一个主要的错误苹果支持问我是否发生在iOS 8测试版上并将该错误标记为无排名.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>iOS7 Layout break</title>
<style>
body {
background-color: red;
margin: 0;
padding: 0;
}
.container {
background-color: black;
}
.inner-container {
max-width: 75%;
margin: 0 auto;
padding: 30px;
background-color: white;
}
</style>
</head>
<body>
<div class="container">
<div class="inner-container">
<p>When you focus in on this field and change orientation, …Run Code Online (Sandbox Code Playgroud) 在OSX Chrome 45上测试,align-items: center;正在处理内容,但是如果您点击下面的空可编辑,则在您开始输入之前,插入位置不会居中.
唯一的方法是通过顶部/底部平衡填充来解决这个问题,或者有没有一种方法可以让它在没有像素移位的情况下工作?谢谢
[contenteditable="true"] {
border: 1px solid #ddd;
display: flex;
align-items: center;
min-height: 46px;
}
[contenteditable="true"]:focus {
outline: none;
}Run Code Online (Sandbox Code Playgroud)
<div contenteditable="true"></div>
<div contenteditable="true">content is centered, but caret isn't</div>Run Code Online (Sandbox Code Playgroud)
我们有丰富的页面,我们有一个带有动态内容的小块.直到最近,一切都很好.
现在Chrome浏览器以某种方式"捕获"页面上的一个div并向下滚动整个内容.用文字解释很难,但更容易证明.
这是测试页面.只需在Chrome中打开它,然后向下滚动一点,这样其中一个蓝色框就会出现在视口的最顶部边框上.当蓝色框保持在同一位置时,您将看到所有内容(数字1,2,3 ..)自动滚动.
在这个简单的例子中它可能看起来合乎逻辑,但是考虑到动态块只是页面上许多块中的一个,并且没有理由滚动整个内容,因为块内部发生了变化.
<html>
<body>
<div id="x" style="border:solid 1px red;width:200;height:200">
</div>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>
<script>
setInterval(function () {
var e = document.createElement('div');
e.setAttribute("style", "border:solid 2px blue;width:100px;height:20px");
var x = document.getElementById('x');
x.insertBefore(e, x.childNodes.length?x.childNodes[0]:null);
}, 1000);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我们本周刚发现这个Chrome奇怪的行为.该代码在过去的6个月中运行良好,所以我认为这是Chrome制作的新功能.所有其他浏览器工作正常.
==更新==
使用Chrome(我有最新版本56.0.2924.87(64位))到http://www.thefreedictionary.com/并向下滚动,直到"实时搜索"(带有移动文字的框)出现在浏览器的最顶部.您将体验到整个页面开始移动而不是正常行为.
javascript ×3
android ×2
focus ×2
.htaccess ×1
build ×1
conditional ×1
css ×1
curl ×1
directory ×1
domain-name ×1
es6-promise ×1
flexbox ×1
html ×1
input ×1
ios ×1
keyboard ×1
layout ×1
param ×1
php ×1
promise ×1
react-native ×1
redirect ×1
regex ×1
require ×1
scroll ×1
textinput ×1
validation ×1
webpack ×1