2

送信されたファイル リンクでブラウザに問題があります。

file:// の代わりに file:/// を作成し、メールのリンクをチェックする zimlet を作成したいと思います。ファイル リンクの場合は、file:/// を file:// に変更し、クリックで開始します。

または、ファイル リンクの場合は外部プログラムを起動します。リンク リーダー プログラムを作成しましたが、開始方法や Zimlet への実装方法がわかりません。何か考えはありますか?助けてくれてありがとう。.net でのリンク修正の例ですが、Java ajax では次のようになります。

 foreach (string b in args)
            {


                //  Console.WriteLine(b);
               if (b.Contains("file:F"))
                {
                     string d = b.Replace(@"file:F", @"F");
                     System.Diagnostics.Process.Start(d);
                }
          else if (b.Contains("file:///F:"))
               {
                   string d = b.Replace(@"file:///F:", @"F:");
                   System.Diagnostics.Process.Start(d);
               }

}

ここで、文字列が読み取られてチェックされ、適切な開始文字に置き換えられます。Javaでも動作する必要があると思いますが、Javaが苦手です。

助けてください!

私はコンバーターで試しました:しかし、それは動作しません:

try
    {
        for (String b : args)
        {


            //  Console.WriteLine(b);
           if (b.contains("file:F"))
           {
                 String d = b.replace("file:F", "F");
                 System.Diagnostics.Process.Start(d);
           }

           else if (b.contains("file:///F:"))
           {
               String d = b.replace("file:///F:", "F:");
               System.Diagnostics.Process.Start(d);
           }

           else
           {
               System.out.println("File Not Contain Valid File Link!");
               System.out.println("Or File Missing!");
               Console.ReadKey();
           }
            // Console.WriteLine(d);
            //  Console.ReadKey();
          //  System.Diagnostics.Process.Start(d);
        }
    }
    catch (RuntimeException e)
    {


        System.out.println("File Not Contain Valid File Link!");
        System.out.println("Or File Missing!");
        Console.ReadKey();


    }

新しいアイデアがあります!新しいタブでリンクを自動的に実行するにはどうすればよいですか? リンクをクリックすると、自動的に新しいタブが開き、URL がそこにコピーされて実行されます。それは私が思うに右クリックメニューでなければなりません。それはうまくいくはずです。

更新:今、私は例を使用しています:右クリックメニューの場合、クリックポップアップメッセージに取り組んでいます:

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// The onClicked callback function.
function onClickHandler(info, tab) {
  if (info.menuItemId == "radio1" || info.menuItemId == "radio2") {
    console.log("radio item " + info.menuItemId +
                " was clicked (previous checked state was "  +
                info.wasChecked + ")");
  } else if (info.menuItemId == "checkbox1" || info.menuItemId == "checkbox2") {
    console.log(JSON.stringify(info));
    console.log("checkbox item " + info.menuItemId +
                " was clicked, state is now: " + info.checked +
                " (previous state was " + info.wasChecked + ")");

  } else {
    console.log("item " + info.menuItemId + " was clicked");
    console.log("info: " + JSON.stringify(info));
    console.log("tab: " + JSON.stringify(tab));
  }

ポップアップメッセージはこちら

alert("I am an alert box!");
};

chrome.contextMenus.onClicked.addListener(onClickHandler);

// Set up context menu tree at install time.
chrome.runtime.onInstalled.addListener(function() {
  // Create one test item for each context type.
  var contexts = ["page","selection","link","editable","image","video",
                  "audio"];
  for (var i = 0; i < contexts.length; i++) {
    var context = contexts[i];
    var title = "Test '" + context + "' menu item";
    var id = chrome.contextMenus.create({"title": title, "contexts":[context],
                                         "id": "context" + context});
    console.log("'" + context + "' item:" + id);
  }

  // Create a parent item and two children.
  chrome.contextMenus.create({"title": "Test parent item", "id": "parent"});
  chrome.contextMenus.create(
      {"title": "Child 1", "parentId": "parent", "id": "child1"});
  chrome.contextMenus.create(
      {"title": "Child 2", "parentId": "parent", "id": "child2"});
  console.log("parent child1 child2");

  // Create some radio items.
  chrome.contextMenus.create({"title": "Radio 1", "type": "radio",
                              "id": "radio1"});
  chrome.contextMenus.create({"title": "Radio 2", "type": "radio",
                              "id": "radio2"});
  console.log("radio1 radio2");

  // Create some checkbox items.
  chrome.contextMenus.create(
      {"title": "Checkbox1", "type": "checkbox", "id": "checkbox1"});
  chrome.contextMenus.create(
      {"title": "Checkbox2", "type": "checkbox", "id": "checkbox2"});
  console.log("checkbox1 checkbox2");

  // Intentionally create an invalid item, to show off error checking in the
  // create callback.
  console.log("About to try creating an invalid item - an error about " +
      "duplicate item child1 should show up");
  chrome.contextMenus.create({"title": "Oops", "id": "child1"}, function() {
    if (chrome.extension.lastError) {
      console.log("Got expected error: " + chrome.extension.lastError.message);
    }
  });
});

そして、exeを実行しているhtaファイルを作成しました:

<script type="text/javascript" language="javascript">
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "F:\\ABLAGE\\link_reader_ip.exe"; 
oShell.ShellExecute(commandtoRun,"","","open","1");
</script>

新しい問題: 1. hta ファイルをクリックして開始する方法:

function callShellApplication(){
var objShell = new ActiveXObject("WScript.shell");
objShell.Run('"d:\\test.hta"');
}

エラーはありませんが、test.hta ファイルは起動しません。

  1. hta が私のファイルを実行すると、追加のウィンドウが開きますが、私はしません。

誰か助けてください。

4

0 に答える 0