小编cap*_*apn的帖子

Greasemonkey脚本关闭烦人的事情

有什么方法可以使用Greasemonkey选择性删除网站上的脚本吗?

免责声明:我了解JS,但是对GM没有太多直接的经验(阅读:没有)。

我只需要停止加载外部脚本即可(不能使用NoScript,因为我想加载其他不那么烦人的脚本)。

我尝试这样做:

// ==UserScript==
// @name           turn_shit_off
// @namespace      http://www.google.com
// @include        http://www.xyz.com/*
// ==/UserScript==

window.onload = function() {
    var d = document;   // shorthand
    var scripts = d.getElementsByTagName('script');
    for(var i = 0; i < scripts.count; i++) {
        if(scripts[i].src.indexOf('foobar.js') != -1) {
            scripts[i].src = '';
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。

javascript greasemonkey

5
推荐指数
1
解决办法
3974
查看次数

"文档未打开"仅在使用iTextSharp的生产中出错

我在iTextSharp中收到"文档未打开"错误,但仅限于生产中.代码在我的开发机器和分段上运行良好.我在舞台服务器上的Temp文件夹中设置了相同的权限.

public static byte[] ConvertHtmlToPdf(string html)
    {
        html = HtmlPostProcessor.Process(html);
        byte[] fileData = null;
        string tempPath = ConfigurationManager.AppSettings["TempDirectory"];
        string tempPDFFile = Path.Combine(tempPath, Guid.NewGuid() + ".pdf");
        int num = FontFactory.RegisterDirectory(@"C:\Windows\Fonts");

        using (FileStream fs = new FileStream(tempPDFFile, FileMode.Create))
        {
            using (Document document = new Document(PageSize.LETTER, 50, 50, 50, 50))
            {
                document.Open();
                PdfWriter.GetInstance(document, fs);
                using (StringReader stringReader = new StringReader(html))
                {

                    List<IElement> parsedList = HTMLWorker.ParseToList(stringReader, null);
                    foreach (IElement item in parsedList)
                    {
                        document.Add(item);
                    }
                }
            }
        }

        FileStream generatedPDF = File.Open(tempPDFFile, FileMode.Open);
        fileData …
Run Code Online (Sandbox Code Playgroud)

c# itext itextsharp

3
推荐指数
1
解决办法
7921
查看次数

在C#getter中使用StringBuilder会特别糟糕吗?

getter将获得有关它所在的struct的状态的消息,它由struct的属性的组合定义,这些属性是有限的.

首先,这不是关于微优化,我只是认为:

StringBuilder msg = new StringBuilder();
...
msg.AppendLine("static string");
...
Run Code Online (Sandbox Code Playgroud)

看起来更清洁:

String msg = String.Empty;
...
msg = String.Concat(msg, "static string", System.Environment.NewLine)
...
Run Code Online (Sandbox Code Playgroud)

所以只是一种美学选择.

msg变量必须以任何方式初始化为空,因此额外的行不会给我带来麻烦.但是在返回字符串的字段中构造一个新的StringBuilder有多糟糕?

编辑 我只是想知道,如果把一个StringBuilder构造函数的吸气剂要开拓蠕虫的一个巨大的罐头,是荒谬的开销,一些从来没有在干将样的反模式的东西使用构造函数,等等......不知道大家是最喜欢连接非循环字符串的最佳方式.

EDIT2 getter的常用,最佳实践,性能阈值是什么,StringBuilder构造函数是否低于此值?

c# getter stringbuilder

0
推荐指数
1
解决办法
618
查看次数