Автоматизированный filedownload использование WebBrowser без URL

В jQuery работало бы следующее:

$("#id_of_textbox").keyup(function(event) {
    if (event.keyCode === 13) {
        $("#id_of_button").click();
    }
});

$("#pw").keyup(function(event) {
    if (event.keyCode === 13) {
        $("#myButton").click();
    }
});

$("#myButton").click(function() {
  alert("Button code executed.");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Username:<input id="username" type="text"><br>
Password:&nbsp;<input id="pw" type="password"><br>
<button id="myButton">Submit</button>

Или в плоскости JavaScript, следующее работало бы:

document.getElementById("id_of_textbox")
    .addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
        document.getElementById("id_of_button").click();
    }
});

document.getElementById("pw")
    .addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
        document.getElementById("myButton").click();
    }
});

function buttonCode()
{
  alert("Button code executed.");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Username:<input id="username" type="text"><br>
Password:&nbsp;<input id="pw" type="password"><br>
<button id="myButton" onclick="buttonCode()">Submit</button>
7
задан John Saunders 20 November 2011 в 19:06
поделиться

2 ответа

Атрибут AssemblyVersionAttribute не добавляется в сборку, а обрабатывается "особым" способом компилятором (т. Е. Он устанавливает версию сборки)

Вы МОЖЕТЕ получить атрибут AssemblyFileVersion (т.е. он добавляется в сборку)

Есть и другие атрибуты, которые показывают такое же поведение: AssemblyCultureAttribute и AssemblyFlagsAttribute также используется для настройки свойств сборки и не добавляется в сборку как настраиваемые атрибуты.

Все эти атрибуты перечислены в разделе Атрибуты идентификации сборки в документации. В документации об этих атрибутах говорится следующее:

Три атрибута вместе со строгим именем (если применимо) определяют идентичность сборки: имя, У вас есть два способа сделать это:

Во-первых, изменить php.ini, чтобы установить это значение (оно уже находится в файле; просто отредактируйте значение свойства). Проблема в том, что он изменит его также для веб-сервера, что плохо (в конце концов, это мера безопасности) . Лучше создать копию php.ini, названную, например, phpcli.ini, и изменить этот файл. Затем используйте его при вызове php:

php -c phpcli.ini myscript.php

Это будет отлично работать, если у вас есть много свойств, которые нужно настроить для выполнения CLI. (Например, memory_limit , который часто должен быть установлен на более высокое значение для длительных пакетов)

Другой способ - определить другое значение для max_execution_time при вызове php , например:

php -d max_execution_time=60 myscript.php

Это замечательно, если вы запускаете это, например, через crontab.

Это может быть способ сделать это:

  • Код Javascript заставляет ваш элемент управления WebBrowser переходить к определенному URL-адресу (что может вызвать появление диалогового окна загрузки).

  • Чтобы предотвратить фактический переход элемента управления WebBrowser к этому URL-адресу, прикрепите обработчик событий к событию Navigating.

  • В событии Navigating вам нужно будет проанализировать, является ли это фактическим действием Navigating, которое вы хотите остановить (это URL-адрес загрузки, возможно, проверьте расширение файла, должен быть узнаваемый формат). Для этого используйте WebBrowserNavigatingEventArgs.Url.

  • Если это правильный URL, остановите навигацию, установив свойство WebBrowserNavigatingEventArgs.Cancel.

  • Продолжите загрузку самостоятельно с помощью классов HttpWebRequest или WebClient

Посмотрите на эта страница для получения дополнительной информации о мероприятии:
http://msdn.microsoft. com / en-us / library / system.windows.forms.webbrowser.navigating.aspx

5
ответ дан 6 December 2019 в 15:25
поделиться

Аналогичное решение доступно по адресу http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/d338a2c8-96df-4cb0-b8be-c5fbdd7c9202/?prof=required

Это отлично работает, если есть прямой URL, включая загрузку имя файла.

Но иногда некоторые URL-адреса генерируют файл динамически. Таким образом, URL-адрес не имеет имени файла, но после запроса этого URL-адреса некоторые веб-сайты создают файл динамически, а затем появляется диалоговое окно открытия / сохранения.

Например, некоторые ссылки генерируют PDF-файл на лету.

Как обрабатывать такой тип URL?

5
ответ дан 6 December 2019 в 15:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: