我想设计一个带有横幅和iframe的网页.我希望iframe可以填充所有剩余的页面高度,并在浏览器调整大小时自动调整大小.是否有可能在没有编写Javascript代码的情况下完成它,只有CSS?
我尝试设置height:100%iframe,结果非常接近,但iframe试图填充整个页面高度,包括30px横幅div元素的高度,所以我得到了不必要的垂直滚动条.这不完美.
更新说明:请原谅我没有好好描述这个问题,我在DIV上尝试了CSS margin,padding属性来成功占据网页的整个提醒高度,但这个技巧对iframe没有用.
<body>
<div style="width:100%; height:30px; background-color:#cccccc;">Banner</div>
<iframe src="http: //www.google.com.tw" style="width:100%; height:100%;"></iframe>
</body>Run Code Online (Sandbox Code Playgroud)
任何想法都表示赞赏.
我想生成一个CSV文件供用户使用Excel打开它.
如果我想在值中转义逗号,我可以将其写为"640,480".
如果我想保留前导零,我可以使用="001234".
但是如果我想在值中保留逗号和前导零,则写为="001,002"将被分割为两列.表达正确的数据似乎没有解决方案.
有没有办法在CSV for Excel中表达001,002?
我写了一个Javascript RegExp测试来检测日期字符串格式,我错误地添加了一个冗余的"g"标志,发现了一些有趣的东西.
var s = "2009/03/10";
var regex=/^\d{4}[/]\d{2}[/]\d{2}$/g;
alert(regex.test(s));
alert(regex.test(s));
alert(regex.test(s));
alert(regex.test(s));
Run Code Online (Sandbox Code Playgroud)
我得到一个'true'后跟一个'false',然后是另一个'true',然后是另一个'false'.
如果我使用循环来执行它,我发现更有趣的东西,我在IE和Safari中有四个"真实",在FF,Chrome中有真,假,真,假.
for (var i=0; i<4; i++)
{
var s = "2009/03/10";
var regex=/^\d{4}[/]\d{2}[/]\d{2}$/g;
alert(regex.test(s));
}
Run Code Online (Sandbox Code Playgroud)
有没有人有想法解释为什么Javascript正则表达式会像这样,以及导致浏览器返回不同结果的原因是什么?(与变量声明和生命范围有关?)
据我所知,Object.GetType()永远不应该返回null.(相关讨论)
Dapper .Query()返回要被视为动态对象的私有类DapperRow实例.我发现了一件奇怪的事:DapperRow的.GetType()返回null.
这是重现问题的示例代码.创建一个C#项目,引用Dapper并打开与SQL Server(或其他数据库)的连接,使用.Query()执行简单的select查询并检索第一行结果.使用GetType()获取结果对象的类型,返回值为null.
using (SqlConnection cn = new SqlConnection(csSql))
{
var rec = cn.Query("select getdate() as D").Single();
var t = rec.GetType(); // t == null
Console.WriteLine(t.Name); // null reference exception
}
Run Code Online (Sandbox Code Playgroud)
我怀疑动态或私有类型是null的原因,所以我编写我的类库进行测试:
namespace Lib
{
public class Blah
{
public static dynamic SecretObject;
static Blah()
{
SecretObject = new PrivateType();
}
}
class PrivateType
{
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个项目中,获取动态类型静态字段并调用GetType():
dynamic obj = Lib.Blah.SecretObject;
Console.WriteLine(obj.GetType().Name); // "Lib.PrivateType"
Run Code Online (Sandbox Code Playgroud)
根据测试结果,即使将私有类型转换为动态,我仍然可以从GetType()获取私有类型信息,为什么DapperRow.GetType()返回null?
我们有一个.NET程序来运行无头Chrome浏览器将网页快照到图像,这是示例代码:
class Program
{
static void Main(string[] args)
{
var p = Process.Start(
@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
$@"--headless --screenshot=E:\test{DateTime.Now:HHmmss}.png --disable-gpu --window-size=320,568 http://www.microsoft.com");
p.WaitForExit();
}
}
Run Code Online (Sandbox Code Playgroud)
在Windows Task Scheduler中使用“运行是否登录用户”选项来计划控制台应用程序。该程序可以正常运行数月,但昨天失败了,我们注意到Chrome版本现在为73。幸运的是,我们发现了一台Chrome仍为72的计算机,因此我们对后台计划任务进行了一次测试,将Chrome升级到73,然后再次对其进行了测试,最终得出结论- 无头Chrome 72可以在后台运行,但Chrome 73不能。
有人在Chrome 73上找到相同的问题吗?
[于2019/6/23更新]
这是Chromium的错误(错误942023),已在Chrome 74.0.3729.108上修复。
对于Chrome 73,您可以使用--disable-features=VizDisplayCompositorarguments作为解决方法。