【问题标题】:Getting Javascript with .xhtml extension in browser在浏览器中获取带有 .xhtml 扩展名的 Javascript
【发布时间】:2016-07-27 06:36:17
【问题描述】:

我已经从 xhtml 文件中的 Java 调用加载了 javascript。当我以调试模式(IE 和 chrome)打开浏览器时,javascript 正在加载 .xhtml 扩展名。

下面是我正在使用的代码

<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><ice:outputText nospan="true" value="#{msgs.loginTitle}" /></title>
<link href="../css/style.css" type="text/css" rel="stylesheet" />
<ice:outputText value="#{MyAction.javaScripts}" visible="false" />
</h:head>

这里的 JavaScripts 是方法,它返回字符串。

value="#{MyAction.javaScripts}" 返回下面的字符串

<script src="../js/myJs.js" type="text/javascript"></script>

但是当我以调试模式打开浏览器时,我的 javascript 就像 abc.js.xhtml?xxx 并且某些功能无法正常工作。我的问题是

1) java 脚本即使这样显示也能正常工作吗?

2) 浏览器是更改扩展还是配置问题?

请帮帮我

【问题讨论】:

    标签: jsf jsf-2


    【解决方案1】:

    应使用&lt;h:outputScript&gt;&lt;script&gt; 将Javascript 文件包含在您的JSF .xhtml 文件中:

    (引用 /js 文件夹中名为“help.js”的脚本文件)

    <h:outputScript library="js" name="help.js" />
    

    (直接在页面内嵌入脚本)

    <script type="text/javascript">
    
       function sayHello(){
          alert('Hello');
       }
    
    </script>
    

    【讨论】:

    • 关于为什么这是错误的或为什么它被否决的任何评论?请帮助改进问题或答案......
    • @Hatley,第二个解决方案对我不起作用,因为我的 js 文件包含很多功能,我已经尝试过第一个选项,但仍然无法正常工作
    • 投反对票,因为它对 you 不起作用,这不是很好。其他人可能有类似的问题,Hatley 的答案可能对他们有用。
    • 这个“答案”被否决了,因为 1) 它没有回答问题。 2)它引入了一种误导初学者的不良做法。仅仅因为它被否决(因此不是因为它的内容不好)而对答案进行投票对 Stack Overflow 的可信度是危险的。不要再这样做了,@thedigitalmouse。
    • @BalusC 为了我的利益和其他查看此内容的人,您能否澄清所描述的不良做法是什么,以便我们能够认识到它的发展?非常感谢您对此提供的帮助以及您在 SO 上提供的其他与 JSF 相关的答案的(字面意思)数千个
    猜你喜欢
    • 2013-01-25
    • 2023-03-31
    • 2014-03-04
    • 2015-11-26
    • 1970-01-01
    • 2021-07-28
    • 2017-05-27
    • 2011-10-15
    • 2019-04-15
    相关资源
    最近更新 更多