Я столкнулся с той же проблемой в аналогичном проекте и потратил некоторое время на понимание уловок. Тот факт, что MikTeX выходит выбранным, даже если вы очистили путь, объясняется несколько раздражающим фактом (особенно для * nix-ориентированных разработчиков, таких как я и другие), что при установке MikTeX устанавливается довольно большое количество записей реестра Windows. Портативный дистрибутив MikTeX (только для win32) является единственным исключением. Поэтому, если вам нужен MikTeX на борту, я советую просто сделать то, что я сделал:
Теперь убедитесь, что ваш путь снова включает путь к каталогу TeXlive bin.
Если вы используете pandoc для создания PDF-файлов из Rmarkdown или других языков уценки, удобный способ обойти проблемы с путями - указать опцию --latex-engine
и добавить полный путь к файлу в качестве аргумента. Ниже приведена возможная командная строка, адаптированная из среды разработки RStudio:
path/to/pandoc.exe -V papersize=A4 +RTS -K512m -RTS file.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output file.pdf --template path/to/default.tex --highlight-style tango --latex-engine /path/to/pdflatex.exe --variable geometry:margin=1in
Если у вас установлен jQuery, почему бы просто не сделать это:
$('#proxyAnchor')[0].click();
Обратите внимание, что мы используем [0] для указания первого элемента. Селектор jQuery возвращает экземпляр jQuery, и вызов click () для него вызывает только обработчик javascript click, а не href. Вызов click () для фактического элемента (возвращенного [0]) приведет к переходу по ссылке в href и т. Д.
См. Здесь пример, чтобы проиллюстрировать разницу: http://jsfiddle.net/8hyU9/
Что касается того, почему ваш исходный код не работает - это, вероятно, потому, что вы вызываете onclick
, а не onclick ()
. Без круглых скобок JavaScript вернет все, что присвоено свойству onclick
, а не пытаться его выполнить.
Попробуйте следующий простой пример, чтобы понять, что я имею в виду:
var f = function() { return "Hello"; };
alert(f);
alert(f());
Первый будет отображать фактический текст функции,
Вы должны вызвать событие щелчка следующим образом:
document.getElementById("proxyAnchor").click();
// $('#proxyAnchor').click();
но в вашем случае вы должны установить расположение окна на страницу перенаправления, если хотите.
Я полагаю, вы хотите вызвать событие click
. Не «onClick». Также не забудьте включить круглую скобку () при вызове метода. Не путайте методы (которые заканчиваются на (и)) с атрибутами и свойствами, которые не заканчиваются на (и).
// Using jQuery - Which you tagged...
$("#proxyAnchor").attr("href", proxyImgSrc).click();
Я думаю, это то, что вам нужно:
var proxyImgSrc="CostMetrics.aspx?Model=" + model +"&KeepThis=true&TB_iframe=true&height=410&width=650";
$("#proxyAnchor").attr('href', proxyImgSrc).trigger("click");;
Для немедленного изменения страницы вы также можете сделать это:
var proxyImgSrc= "CostMetrics.aspx?Model=" + model + "&KeepThis=true&TB_iframe=true&height=410&width=650";
window.location = proxyImgSrc;
Вот пример из школ W3: http://www.w3schools.com/js/tryit.asp?filename=tryjs_location