mrC*_*ean 5 html javascript css web-component angularjs
我正在开始一个新项目,我们的任务是创建一个通用标题.这意味着在我们拥有的不同域/服务器,客户创建的站点和第三方站点上,我们需要一种非常简单的方法将此代码提供给人们.
此通用标题还将包含一些搜索功能,这与我的问题略有关系.简而言之,它将包含JavaScript以更改action其<form>元素的属性,具体取决于下拉选择,以及提交表单.
我们想报头工作,方式是,它生活在一个位置,我们正在考虑某种形式的HTTP请求,以获得头.在我们看来,这将最大化Universal Header的可移植性.
标题需要与WordPress(不是问题)很好地集成,而且在AngularJS中,在我们的讨论中,不太确定是否可行.因此,搜索功能的"略微相关"部分.
我们谈到的其中一个解决方案是在HTML中这样做,就像这个答案一样,但我总是对通过HTTP请求原始HTML并将其转储到页面中更加怯懦,但也许这是正确的方法,但也许不是吗?由于我们不确定,我们考虑了JIRA Issue Collector,它们基本上将JavaScript流式传输给他们的客户,然后构建问题跟踪器按钮,固定在页面的一侧,其中包含一些HTML,CSS和JS.然后,用户可以单击此按钮,打开准备提交的表单.这可能是一个过度简化,但基本上,他们的JS片段包HTML/CSS/JS并将数据提交到他们的服务器.
这是我们喜欢的方向:单个文件包含我们需要的所有内容.但是,我想知道一些事情:
最初,对于上面的最后一点,我想把它附加到一个window物体上.然后在JavaScript中创建自定义事件处理程序 - 但是你如何做到这一点?也许下面的伪代码是偏离基础的,但这就是我问这个问题的原因:
/// inside the SearchController in AngularJS
$scope.defaultRealm = 'products';
/// to select default realm
document.when('angularJSLoads', function () {
document.getElementById('universial-header').find('.dropdown', function () {
// put actions to select $scope.defaultRealm in the dropdown options.
})
})
/// to search in own defaultRealm
document.querySelector('.dropdown').onEvent('headerSearch', function (e) {
e.preventDefault();
var data = event.target.value;
// do searching in AngularJS
})
Run Code Online (Sandbox Code Playgroud)
如果有更好,更清洁的方式,我会很高兴听到它.
我很感激任何帮助.这对我们来说是一个新的领域,总的来说,我们希望能够拥有一个高度可维护的标题,可以轻松地与不同的域等共享.
就我个人而言,这就是我的处理方式。
我将在标题将加载的所有页面上创建一个计划加载到的容器。该容器应该有某种背景,表明其未加载(通常是灰色的,但您的用户体验情况可能有所不同)
然后,要实际交付标头,请使用 JS 构建它。
创建一个 JS 文件(例如 buildHeader.js),其中包含编写 html、向 css 写入请求以及对其他 js 的请求的代码。
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |