从js文件

时间:2015-08-22 12:57:46

标签: javascript jquery css3 getresponse

此脚本是从商业服务导入的表单。所以我没有可能改变js的代码。





问题是每个表单都有css默认值,所以我想导入无块css,





此服务提供了一个解决方案,但只有导出html表单而不是只有js动态表单





所以如何阻止css来自输出js的样式?





代码js是一个简单的脚本,如下所示:




 < script type =“text / javascript”src =“http://app.service.com/view_webform.js”>< / script>
  

&# xA;

以及< style> 的导入器以此行开头:




  wfso [wid] .css = unescape('< style type =“text / css”> #WFItem html {color:#000; background:#FFF;} #WFItem body ................. 。
  




我无法显示完整代码,因为此文件中有敏感数据,但有关更多信息,表单由getresponse提供。





问题仍然是一般性的,要了解如何你可以通过js停止这种风格




1 个答案:

答案 0 :(得分:0)

我建议你先通过JQuery Ajax获取JS文件。然后将内容读为字符串。执行字符串操作以查找并找到<style</style>。删除CSS样式代码。一旦JS字符串没有CSS;然后去eval。这个JavaScript eval()会将简单的JS字符串转换为实际的JS,并且您的JS中存在的所有函数都将出现在您的DOM中

&#13;
&#13;
$.ajax({
  url: "http://app.service.com/view_webform.js",
  success: (jsData){
  
  var startIndex = jsData.indexOf("<style");
  var endIndex = jsData.indexOf("</style>");
  
  var firstPart = jsData.substr(0, startIndex);
  var endPart = jsData.substr(endIndex+7, jsData.length);
  
  var newJSData = firstPart + endPart;
  
  eval(newJSData);
  }
});
&#13;
&#13;
&#13;