从我的文件中的快捷方式运行网页上的 JavaScript 代码?

从我的文件中的快捷方式运行网页上的 JavaScript 代码?

平均能量损失

\documentclass[a4paper,11pt]{article}
\usepackage{color}
\usepackage[hyphens]{url}
\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\begin{document}
\href{javascript}{DownloadSubmit(%20'146'%20,%20'fx991esplus.pdf'%20,%20'1'%20}
%\href{https://edu.casio.com/education/activity/fx991esplus.pdf}{fx991esplus.pdf}
\end{document}

在此处输入图片描述

如何在文件内部直接执行这样的 JavaScript 快捷方式?

javascript:DownloadSubmit(%20'146'%20,%20'fx991esplus.pdf'%20,%20'1'%20)

这样的事可能吗?

有关的:https://edu.casio.com/education/activity/

添加的图片:

在此处输入图片描述

我了解到的信息编辑-1

1)javascript:DownloadSubmit()它具有功能。

2) 我尝试先应用它html。效果很好。

<form action="https://edu.casio.com/education/activity/download.php" method="post">
<input name="dl_FILE_NO" value="146" readonly="true/" />
<input name="dl_FILE_NAME" value="fx991esplus.pdf" readonly="true/" />
<input name="dl_FILE_CD" value="1" readonly="true/" />
<input value="Submit" type="submit" />
</form>

3)MWE

\documentclass{article}
\usepackage[pdftex]{insdljs}
\usepackage[pdftex]{eforms}

\begin{document}
\begin{Form}[action={https://edu.casio.com/education/activity/download.php},method=post]

\TextField[width=5cm,name=dl\_FILE\_NO,readonly=true,value={146}]{NO:}

\TextField[width=5cm,name=dl\_FILE\_NAME,readonly=true,value={fx991esplus.pdf}]{NAME:} 

\TextField[width=5cm,name=dl\_FILE\_CD,readonly=true,value={1}]{CD:} 

\Submit{Submit}
\end{Form}
\end{document}

在此处输入图片描述

超链接无法在 Reader 9 中使用。解决方案,最新回复于 2013 年 5 月 17 日上午 7:13,作者:poisson02Edit>Preferences>Trust Manager>Change Settings>Allow all web sites

现在

在此处输入图片描述

pdftk <filename>.pdf dump_data_fields

---
FieldType: Text
FieldName: dl_FILE_NO
FieldFlags: 1
FieldValue: 146
FieldJustification: Left
---
FieldType: Text
FieldName: dl_FILE_NAME
FieldFlags: 1
FieldValue: fx991esplus.pdf
FieldJustification: Left
---
FieldType: Text
FieldName: dl_FILE_CD
FieldFlags: 1
FieldValue: 1
FieldJustification: Left
---
FieldType: Button
FieldName: Submit
FieldFlags: 65540
FieldJustification: Left

我哪里做错了?我该如何解决?

編輯-2

\begin{Form}[action={http://edu.casio.com/education/activity/download.php},method=post]

代替

\begin{Form}[action={https://edu.casio.com/education/activity/download.php},method=post]

现在

在此处输入图片描述

答案1

该 LaTeX 源将生成所需的 URL。

\documentclass[a4paper,11pt]{article}
\usepackage{color}
\usepackage[hyphens]{url}
\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\begin{document}
\href{javascript:DownloadSubmit('146','fx991esplus.pdf','1')}{fx991esplus.pdf}
\end{document}

结果(当您将鼠标悬停在链接上时)是:

截屏

但是请注意,正如 Paul Gaborit 在其评论中所述,跟随链接(例如,来自 PDF 文件)将不起作用。只有当链接包含在还包含所需 Javascript 代码的 HTML 源代码中时,这才会起作用。如果您不打算使用 LaTeX 的 HTML 后端,那么您可能走错了路。


编辑:另一种方法是观察 Casio 页面上的 Javascript 代码在做什么,并在 LaTeX 文件中执行相同操作。如果它最终发出对文档的 GET 请求,不需要额外的 cookie 或会话信息,那么您很幸运。就您而言,它所做的是(我认为相对简单)POST 请求,其中包含https://edu.casio.com/education/activity/download.php以下数据:

dl_FILE_NO:146
dl_FILE_NAME:fx991esplus.pdf
dl_FILE_CD:1

我相信它hyperref可以处理 POST 请求。检查其文档(§6.1)。

相关内容