将javascript注入head并确保它在刷新后仍然存在
Inject javascript into head and ensure it will be there even after refresh
我们已经获得了一个基于云的企业人才管理解决方案。其中一个特性是能够在主欢迎页面(主页)上用脚本添加HTML小部件。
欢迎页面UI是可定制的,但一旦导航到另一个屏幕,欢迎页面就消失了。
我们做了一个简单的测试,在一个HTML小部件上添加jQuery脚本来更改屏幕上另一个特定的可点击URL元素的URL,它工作得很好。我们希望通过隐藏不需要的UI或添加特殊样式来使其看起来更好来调整系统的UI,并做其他事情,例如仅为显示目的添加新字段。
HTML小部件只能在欢迎页面中添加,但如果您导航到另一个屏幕,如"我的培训记录",HTML小部件中的脚本将不再工作,这是可以理解的
我知道可以在头部HTML元素中注入javascript,但我认为刷新后,脚本将被删除。
问题:是否有可能注入javascript到头部元素,并确保它将永远在那里,它将工作,甚至在页面刷新后?
我正在考虑一个代码,将注入页面刷新后自己。这可能吗?
让我猜猜…您不想将JQuery一次性注入站点并确保它将永远留在那里吗?
不,用干净的方式是不可能的。
如果你有允许你操作文件的API,那么Yes。但是没有可能的方法(我能想到的)用JS注入JS并使其留在那里。; D
如果HTML的内容是从DB生成的,那么你可以注入一些代码到DB。另一种方法是……正在安装木马…但这是违法的!
我们已经要求公司添加脚本标签来引用我们自己开发的JavaScript,这些JavaScript以SCORM格式打包为培训课程材料的一部分,并使用course Publisher上传到门户网站空间。然后可以从主页面的源代码访问JS文件。
然后公司同意添加这个脚本引用,我们可以使用动态脚本加载加载所有其他所需的脚本和CSS,现在每次页面刷新都会加载它。这使我们能够使用客户端脚本和CSS自定义门户。
我们设法加载jQuery插件,使用日期选择器和日历控件添加回历支持。我们能够在任何现有的公历日期字段和新添加的用于显示和数据输入的回历日期字段之间进行双向转换。
有关更多详细信息,请查看以下视频:
如果我理解正确,也许你正在寻找这样的东西。我不确定你是否有任何跟踪cookie或添加到每个页面的能力,但如果有,那么你基本上可以使用这些像CMS系统(如果你使用一个也会工作)。
也就是说,你的问题的解决方案是找到一些在每个页面上运行的东西,并用它来嵌入代码。如果可能是一个数据库/CMS,跟踪代码,模板代码,常见的js,或类似的东西。
这里有2个建议是外部的,但你仍然需要得到页面上的脚本
https://www.optimizely.com/ab-testing/或者更便宜的
选项Google标签管理器
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何解决Yii中的页面刷新问题
- 用于检查数组中是否存在元素的javascript自定义方法
- 我使用jquery创建输入字段,刷新页面后如何保持这个“新输入值”的存在
- 为什么 jquery 在我刷新时显示“禁用”属性存在
- 在pushstate改变浏览器url之后刷新页面;它告诉我页面没有;不存在
- Cookie在我删除并刷新后仍然存在
- Javascript页面刷新功能在整个代码中存在多个提交按钮的问题
- Meteor.userId在我刷新页面时没有持续存在
- 使用JavaScript时,我想使用XPath查找字符串的存在,然后基于该字符串刷新页面
- 如果hasMany不存在,则刷新模型
- 如何创建单击计数器,即使刷新也将数据保存在txt文件中
- 如果不在iMacro中刷新,请选中复选框(如果存在)
- AngularJS&Karma Jasmine-仅当存在一个或多个挂起的请求时才刷新$httpbackend
- 将javascript注入head并确保它在刷新后仍然存在