小编use*_*651的帖子

Firefox插件点击按钮下载文件并将其发布到另一台服务器

我有一个网站,它有一个简单的按钮(我不拥有该网站,也没有访问源)下载文件.我正在使用下面的代码执行此操作,它似乎工作正常,但是很糟糕

目的

  • 我想下载该文件

  • 将文件数据发布到另一个站点

问题

  • 有时下载的文档很大,或者单击按钮后根本没有文档
    • 在同一操作系统的不同机器上不能使用相同版本的FF

下面的代码

  Components.utils.import("resource://gre/modules/Downloads.jsm");
  Components.utils.import("resource://gre/modules/Task.jsm");

  window.content.location.href = "javascript:void download_document()";

  Task.spawn(function () {
    let list = yield Downloads.getList(Downloads.ALL);
    let downloads = yield list.getAll();
    setTimeout(function(d_before){
        Task.spawn(function(d_before) {
          let list = yield Downloads.getList(Downloads.ALL);
          let downloads = yield list.getAll();
          var file =  downloads[downloads.length-1];
          var parts = file.target.path.split('/');
          var document_name = parts[parts.length-1];

          // alert(document_name);
          var file = FileUtils.getFile("DfltDwnld", [document_name]);
          Components.utils.import("resource://gre/modules/NetUtil.jsm");
          NetUtil.asyncFetch(file, function(inputStream, status) {

            // alert("Fetching file");
            if (!Components.isSuccessCode(status)) {
              return;
            }
            var data =  NetUtil.readInputStreamToString(inputStream, inputStream.available());

            // alert("Reading file …
Run Code Online (Sandbox Code Playgroud)

xul nsfilemanager

14
推荐指数
1
解决办法
323
查看次数

Firefox Web扩展 - 读取本地文件(上次下载的文件)

我正在创建一个Web扩展并从XUL移植.我曾经能够轻松阅读文件

  var dJsm = Components.utils.import("resource://gre/modules/Downloads.jsm").Downloads;
  var tJsm = Components.utils.import("resource://gre/modules/Task.jsm").Task;
  var fuJsm = Components.utils.import("resource://gre/modules/FileUtils.jsm").FileUtils;
  var nsiPromptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);

  ....

  NetUtil.asyncFetch(file, function(inputStream, status) {
           if (!Components.isSuccessCode(status)) {
            return;
           }
            var data =  NetUtil.readInputStreamToString(inputStream, inputStream.available());
            var data = window.btoa(data);
            var encoded_data_to_send_via_xmlhttp = encodeURIComponent(data);
            ...
  });
Run Code Online (Sandbox Code Playgroud)

以上内容将被弃用.

我可以使用downloads.download()来了解最后一次下载是什么,但我无法读取该文件,然后获取encode_data_to_send_via_xmlhttp的等效文件

此外,在Firefox 57以上,意味着我必须尝试通过按钮单击或其他东西伪造用户操作,或上传文件.

  Access to file:// URLs or reading files without any explicit user input 
Run Code Online (Sandbox Code Playgroud)

是不是有一个简单的方法来阅读上次下载的文件?

firefox xmlhttprequest filereader

10
推荐指数
1
解决办法
666
查看次数

将System.Color转换为Microsoft Word WdColor

我对C#很陌生,并且发现将RGB颜色或system.color转换为WdColor的简单方法几乎无法形容!

VB很简单,C# - 真的很难吗?

我不想在我的项目中引用VB.

我在一些单词自动化项目中使用它来为字体着色,例如

tmpRange.Find.Replacement.Font.Color = Color.FromArgb(100, 150, 75); 
Run Code Online (Sandbox Code Playgroud)

但是上面这行不可能,它需要是WdColor.

c# colors

9
推荐指数
2
解决办法
7596
查看次数

查找Selenium WebDriver启动的浏览器进程的PID

在C#中我启动了一个浏览器进行测试,我想得到PID,以便在我的winforms应用程序中我可以杀死所有剩余的ghost进程

driver = new FirefoxDriver();
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得PID?

c# selenium pid webdriver selenium-webdriver

6
推荐指数
4
解决办法
1万
查看次数

在select2 ajax rails上填充初始值

我努力让这个工作

我有一个看起来像这样的rails表单

%tr
  %td
    = f.label :company
  %td
    = f.hidden_field :companyid, class: 'select2 ajax', data: { source: companies_path }
Run Code Online (Sandbox Code Playgroud)

在我的咖啡里面

  $(document).ready ->
   $(".select2").each (i, e) ->
    select = $(e)
    options = {}
    if select.hasClass("ajax")
      options.ajax =
        url: select.data("source")
        dataType: "json"
        data: (term, page) ->
          q: term
          page: page
          per: 10
        results: (data, page) ->
          results: data
      options.placeholder = "Select a value"
      options.dropdownAutoWidth = "true"
    select.select2 options
    return
Run Code Online (Sandbox Code Playgroud)

搜索工作正常,数据的存储也是如此,但是当我重新打开页面即编辑保存的记录时,我得到一个空白的select2对象,没有默认值加载到选择框中.

它不会从保存的记录中获取现有值,也不会显示它.我可以搜索没问题 - 这一切都好,它只是不工作.

现在我玩了InitSelection并尝试设置"val",但它只是不起作用.

将记录中存储的值加载到select2框的正确方法是什么?

谢谢

来自emaillenin的解决方案请参见下文

$(document).ready ->
 $(".select2").each (i, e) …
Run Code Online (Sandbox Code Playgroud)

jquery ruby-on-rails jquery-select2

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

MouseJointDef libgdx - 绘制像愤怒的小鸟一样的轨迹线

在libgdx游戏中

我想触摸然后然后拖动某个地方,然后在释放(touchUp)上根据目标身体的距离和方向施加方向力.触地时,目标体保持静止,然后在触摸时沿着所需的轨迹施加力.

(非常类似于愤怒的小鸟 - 当你拿着弹弓的时候,你可以看到目标身体的虚线轨迹 - 我想做同样的事情)

所以我想这可能不是最困难的事情但是给了一些选项我倾向于使用MouseJointDef但它立即施加力(即目标立即移动 - 我希望它保持静止然后一旦触摸事件发生然后施加力量)

什么是绘制轨迹的最简单方法?我也使用Box2D.

java box2d libgdx

4
推荐指数
1
解决办法
3469
查看次数

触地得住了libgdx

在触地事件中是否有类似于libGdx(在Android中) - 所以当用户触摸屏幕(并持续按下他们的手指)时,即touchhelddown方法?

android libgdx

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

当我需要为所有表单重载方法时如何保持DRY?

在我的所有C#表单中,我有以下代码:

protected override CreateParams CreateParams
{
    get
    {
        const int WS_EX_TOOLWINDOW = 0x80;

        CreateParams cp = base.CreateParams;
        cp.ExStyle |= WS_EX_TOOLWINDOW;
        return cp;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何从我的每个表单中删除它并保持我的代码清洁?

.net c# dry winforms

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

libgdx - 删除Box2d CircleShape上呈现的圆形轮廓

CircleShape circle = new CircleShape();
circle.setRadius(1f);
...
using 
...
batch.draw(textureRegion, position.x - 1, position.y - 1, 
                            1f, 1f,
                            2, 2, 
                            1, 1, 
                            angle);
Run Code Online (Sandbox Code Playgroud)

我使用它来设置Box2d碰撞的主体但是我在libGdx中的纹理周围得到了一个愚蠢的圆形,即我的纹理精灵(球)在它的顶部有一个圆圈,沿着半径从中心开始有一条线.

有关如何删除上覆圆线的任何想法?

java libgdx

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

在ruby中转换哈希对象

很想知道在ruby中执行此操作的最佳方法.我已经做到了,但我认为我没有做到最好

我有一个哈希对象如下

{2=>{:name=>"Somename"}, 3=>{:last_name=>"Something"}}
Run Code Online (Sandbox Code Playgroud)

我想去

{:name=>"Somename",:last_name=>"Something"}
Run Code Online (Sandbox Code Playgroud)

ruby arrays hash

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