在Drupal站点的一个页面上插入javascript小部件
我有一个javascript小部件,可以插入普通的旧html页面,如下所示:在Drupal站点的一个页面上插入javascript小部件,javascript,drupal,widget,Javascript,Drupal,Widget,我有一个javascript小部件,可以插入普通的旧html页面,如下所示: <html> <head> <script type='text/javascript' src="http://example.com/widget.js"></script> </head> <body> <script type='text/javascript'>
<html>
<head>
<script type='text/javascript' src="http://example.com/widget.js"></script>
</head>
<body>
<script type='text/javascript'>
//<![CDATA[
try{ widget_constructor('key',500,400); }
catch(e){ alert(e.message); }
//]]>
</script>
</body>
</html>
//
我想在Drupal6站点的一个页面(不是每个页面)上插入此javascript
到目前为止,我一直在尝试在头部添加脚本标记:
- 我将完整的HTML输入格式设置为允许php
- 对于Drupal页面,我将输入格式设置为完整HTML
<?php
drupal_set_html_head('<script type="text/javascript" src="http://example.com/widget.js"> </script>');
?>
我对Drupal不太熟悉,所以这个答案只是绕过了没有加载的小部件,没有真正回答为什么PHP块没有被解析为PHP的问题
您不需要调用
中的
标记。您可以将该行放在调用小部件构造函数的
标记的正上方
<html>
<head>
</head>
<body>
<script type='text/javascript' src="http://example.com/widget.js"></script>
<script type='text/javascript'>
//<![CDATA[
try{ widget_constructor('key',500,400); }
catch(e){ alert(e.message); }
//]]>
</script>
</body>
</html>
//
在写了所有这些之后,我解决了问题
默认情况下,完整的html输入格式打开了一个html更正过滤器,该过滤器似乎导致PHP代码出现问题。重新排序过滤器,将PHP计算器放在首位,解决了这个问题。@Jeff:你不应该真的重新考虑这个问题。使用PHP过滤器通常是个坏主意,因为它可能会打开安全漏洞。(如果有人可以访问您的用户帐户,或者您的设置中存在错误配置,这将直接危及整个服务器)
我宁愿建议通过主题的template.php添加js。另外,正确使用的方法是drupal_add_js,带有inline选项:
下面是一些关于如何使用它的进一步阅读:
http://drupal.org/node/482542
<html>
<head>
</head>
<body>
<script type='text/javascript' src="http://example.com/widget.js"></script>
<script type='text/javascript'>
//<![CDATA[
try{ widget_constructor('key',500,400); }
catch(e){ alert(e.message); }
//]]>
</script>
</body>
</html>