追加子节点会给出doctype错误

时间:2015-08-18 14:38:51

标签: javascript php

我正在尝试调试客户端网站在从移动设备浏览时出错的原因。

以下从javascript调用的代码:

var dom = document.body; 
var jsel = document.createElement('SCRIPT');
jsel.language = 'php';
jsel.src = "test.php";
dom.appendChild(jsel);

给出以下错误:

Uncaught SyntaxError: Unexpected token <

该错误发生在以下代码行,即网页的doc类型:

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">

如果我替换代码以附加javascript例如警告框然后它会触发,但是无论何时包含php文件,无论文件如何,都会抛出此错误。这个相同的代码在PC上的标准Web浏览器上运行良好,但仅在移动设备上才会出现此错误。请帮助,将doctype更改为just show不会使错误消失。它似乎是通过appendChild javascript调用包含php文件给出了问题。

现在坐在这个问题上超过6个小时,我们将不胜感激。

编辑:感谢您的回复,所以基本上移动网页应该允许上传文件,一旦用户选择文件并点击上传按钮就会调用这个javascript文件,该文件会执行各种UI事务,例如显示正在进行的上传text ...同一个文件也嵌入了这个PHP代码,它执行各种功能来存储到数据库。以这种方式调用javascript文件和PHP文件的原因是因为站点中有多个不同的页面使用相同的上传代码。

该网站最初的工作原因是只有桌面用户才有目标,但现在他们也需要在移动设备上工作,这就是我们在移动设备上遇到的问题。

因此该页面是一个智能的php模板页面,其中包含如下按钮:

<input type="button" class="mainbutton" id="upload_button" name="upload_button" value="{$up_btnupload}" onClick="myFunction();">

myFunction()位于外部JS文件中,该文件调用'appendChild'代码以执行php代码而不进行回发,这似乎是他们在不在前端发回代码的情况下执行上传代码的变通方法

0 个答案:

没有答案